分布式文件系统 fastDFS (5.05) 配置

FastDFS分布式文件系统Linux环境搭建

序言

FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

在阅读本文之前,你可以对FastDFS有个初步的了解,以方便下面步骤的进行。

一、配置方案

Tarcker 服务器 1 台,Storage 服务器 2 台。

  • Tarcker 192.168.10.100 Centos 7
  • Storage 192.168.10.101 Centos 7
  • Storage 192.168.10.102 Centos 7

在正式环境当中,通常会采用多 Tracker 以及多 Storage Group 同时Group中多节点备份,但本教程主要熟悉基础搭建,在下文配置中会对应提示大规模集群配置方法。

二、选择版本

  • fastdfs-5.05.tar.gz
  • fastdfs-nginx-module_v1.16.tar.gz
  • libfastcommon-master.zip
  • nginx-1.7.8.tar.gz
  • perl-5.20.2.tar.gz

三、配置 Tracker 服务器

1. 创建文件路径

  • 在Linux下创建一个安装FastDFS的文件夹,本文以/opt/fastdfs为准。

  • /opt/fastdfs下创建 Tracker 日志文件夹 tracker

2. 安装 libfastcommon-master.zip

libfastcommon 中封装了一些fastdfs的公共函数等,所以在安装fastdfs前需要先安装 libfastcommon 包。

  • /opt/fastdfs/下解压安装 libfastcommon ,在这过程中可能需要一些工具,例如 unzip、gcc、perl等。本文以没有安装为准,进行详细的说明。

  • 安装gcc、gcc-c++、perl,执行perl -version返回有结果表示安装成功。

yum -y install gcc

yum -y install gcc-c++

tar zxvf perl-5.20.2.tar.gz

mkdir /usr/local/perl

./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly

make

make install

perl -version   
  • /opt/fastdfs/下解压 libfastcommon-master.zip 包,并进行安装。
tar -zxvf libfastcommon-master.zip

cd libfastcommon/

chmod 777 make.sh

./make.sh

./make.sh install

  • 因为libfastcommon安装路径在/usr/lib64/下,所以需要手动软连接。
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

3.安装 FastDFS 5.05 包。

  • 这里操作大致相同,进入/opt/fastdfs/下,解压fastdfs-5.05.tar.gz并进行安装,执行完安装操作之后,看是否有/etc/fdfs/文件路径,有的话则安装成功。
tar -zvxf fastdfs-5.05.tar.gz

cd FastDFS/

chmod 777 make.sh

./make.sh

./make.sh install

ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
 
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

4.配置 Tracker

  • 根据样例创建 tracker 配置文件,并进入编辑。
cd /etc/fdfs/

cp tracker.conf.sample tracker.conf

vi tracker.conf

修改如下:

disabled=false            #启用配置文件
port=22122                #设置tracker的端口号,一般采用22122这个默认端口
base_path=/opt/fastdfs/tracker   #设置tracker的日志目录)

  • 启动tracker,并查看端口占用情况,启动成功则可以显示窗口占用情况。
/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  restart

netstat -unltp|grep fdfs

  • 打开文件 vi /etc/rc.d/rc.local,将如下命令添加到该文件中 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart,即开启自动启动。
  • 此时关于 tarker 的配置已经完成。

四、配置 Storage 服务器

配置 storage 与配置 tracker 的方式几乎一样,所以相同部分不再复述,不同点会进行详细步骤说明。

1. 创建文件路径

  • 在Linux下创建一个安装FastDFS的文件夹,本文以/opt/fastdfs为准。

  • /opt/fastdfs下创建 storage 日志文件夹 storage_info

  • /opt/fastdfs下创建 storage 数据文件夹 storage_data

2. 安装 libfastcommon-master.zip

同上。

3.安装 FastDFS 5.05 包。

同上。

4. 配置 Storage

  • 根据样例创建 storage 配置文件,并进入编辑。
cd /etc/fdfs/

cp storage.conf.sample storage.conf

vi storage.conf

修改如下:

disabled=false          #启用配置文件

group_name=group1       #组名,根据此服务器修改

port=23001     #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致

base_path=/opt/fastdfs/storage_info    #设置storage的日志目录

store_path_count=1   #存储路径个数,需要和store_path个数匹配

store_path0=/opt/fastdfs/storage_data   #存储路径

tracker_server=192.168.10.100:22122   #tracker服务器的IP地址和端口号
  • 启动 storage 并查看端口占用情况,启动成功则可以显示窗口占用情况。
/usr/bin/fdfs_storage  /etc/fdfs/storage.conf  restart

netstat -unltp|grep fdfs
  • 通过以下命令查看storage的启动日志,看是否有错误: tail -100f /opt/fastdfs/storage_info/logs/storage.log

  • 启动成功后,可以通过fdfs_monitor查看集群的情况,即storage是否已经注册到tracker服务器中,查看192.168.10.101:23001 是ACTIVE状态即可。

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
  • 打开文件 vi /etc/rc.d/rc.local,将如下命令添加到该文件中 /usr/bin/fdfs_storage /etc/fdfs/storage.conf restart,即开启自动启动。

  • 此时关于 storage 的配置已经完成。

关于 tracker 与 storage 关于 nginx 的配置

一、tracker 配置 nginx

tracker 配置 nginx 的作用主要是反向代理、负载均衡。

这里配置需要到fastdfs-nginx-module_v1.16.tar.gz fastdfs的一个nginx插件,以及nginx包 nginx1.7.8.tar.gz ,在安装nginx过程中可能要安装一些工具,下面也会进行介绍。

安装工具:

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

安装nginx:


cd /opt/fastdfs/

tar -vxzf fastdfs-nginx-module_v1.16.tar.gz

tar -vxzf nginx1.7.8.tar.gz

cd nginx1.7.8/

mkdir /usr/local/nginx

 ./configure  --prefix=/usr/local/nginx  --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src

  • 执行到这一步可能会有错误提示,如果有错误提示的话,需要进入fastdfs-nginx-module/src目 录,编辑config文件,找到包含CORE_INCS这个一行,将路径中local全部去掉,变为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"。修改完成后重复执行./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src
make

make install
  • 然后再依次执行 make 和 make install 这两个命令,没有报错误就是安装成功了。
  • 执行命令 cd /usr/local/nginx/conf,编辑 nginx.conf 这个文件,对应增加以及修改,修改增加如下:
http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;

    upstream fdfs_group1 {
         server 192.168.10.101:10050 ;
    }
    
    upstream fdfs_group2 {
         server 192.168.10.102:10050 ;
    }
    
    server {
        listen       10030;
        server_name  localhost;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location /group1/M00 {
            proxy_pass http://fdfs_group1;
        }
        
        location /group2/M00 {
            proxy_pass http://fdfs_group2;
        }
    }
}

  • 执行命令 cd /myself_settings/fastdfs5.0.5/fastdfs-5.05/conf,即进入fastdfs5.0.5的安装文件夹的conf目录下,将目录下面的http.confmime.types拷贝到/etc/fdfs/下,如果不执行这一步,后边在启动nginx时会报错。
  • 执行命令启动nginx: /usr/local/nginx/sbin/nginx ,如果/usr/local/nginx/logs/error.log中没有报错,同时访问192.168.10.100:10030这个url能看到 nginx的欢迎页面。

一、storage 配置 nginx

storage 配置 nginx 的作用主要是storage中安装nginx,主要是为了为提供http的访问服务,同时解决group中storage服务器的同步延迟问题。

这里配置需要到fastdfs-nginx-module_v1.16.tar.gz fastdfs的一个nginx插件,以及nginx包 nginx1.7.8.tar.gz ,在安装nginx过程中可能要安装一些工具,同上。

安装工具同上

安装nginx同上

  • 执行到这一步可能会有错误提示,如果有错误提示的话,需要进入fastdfs-nginx-module/src目 录,编辑config文件,找到包含CORE_INCS这个一行,将路径中local全部去掉,变为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"。修改完成后重复执行./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src
make

make install
  • 然后再依次执行 make 和 make install 这两个命令,没有报错误就是安装成功了。
  • 执行命令 cd /usr/local/nginx/conf,编辑 nginx.conf 这个文件,对应增加以及修改,修改增加如下:
http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;

    server {
        listen       10050;
        server_name  localhost;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location ~/group1/M00{
             root /opt/fastDFS/storage_data/data;
             ngx_fastdfs_module;
        }

    }
}

  • 执行命令 cd /myself_settings/fastdfs5.0.5/fastdfs-5.05/conf,即进入fastdfs5.0.5的安装文件夹的conf目录下,将目录下面的http.confmime.types拷贝到/etc/fdfs/下,如果不执行这一步,后边在启动nginx时会报错。

  • 执行命令cd /myself_settings/fastdfs_nginx_module/fastdfs-nginx-module/src,即进入 fastdfs-nginx-module_v1.16的安装文件夹的src目录下,将目录下面的mod_fastdfs.conf这个文件拷贝到 /etc/fdfs 目录下。

vi mod_fastdfs.conf

group_name=group1           #当前服务器的group名

store_path_count=1          #存储路径个数,需要和store_path个数匹配

base_path=/opt/fastdfs/storage_info

store_path0=/opt/fastdfs/storage_data

tracker_server=192.168.10.100:22122  #storage服务器的端口号

#tracker_server=192.168.10.100:22122

url_have_group_name = true       #文件url中是否有group名

group_count= 2       #设置组的个数

  • 建立软连接ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00
  • 执行命令启动nginx: /usr/local/nginx/sbin/nginx ,如果/usr/local/nginx/logs/error.log中没有报错,同时访问192.168.10.101:10050这个url能看到 nginx的欢迎页面。

测试 上传 / 下载

  • 打开 /etc/fdfs 文件夹,编辑 client.conf 文件,编辑内容如下:
base_path=/opt/fastdfs_tracker      #存放路径

tracker_server=192.168.10.100:22122          #tracker服务器IP地址和端口号
  • 模拟上传文件,执行如下命令: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/1.txt,执行之后会马上返回一个字符串路径。

  • 在浏览器中执行 192.168.10.100/group1/M00/00/00/wKjgGlVYgi6AAv3tAAAADv4ZzcQ572.txt

  • 即可下载。

相关资料

分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群

FastDFS_V5.05分布式存储安装与使用

FastDFS 双tracker负载均衡 及多组存储配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容