Centos 搭建 FastFDS 分布式文件存储系统

FastFDS:是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
前期准备
libfastcommon-master.zip

FastDFS_v5.05.tar.gz

fastdfs-nginx-module_v1.16.tar.gz

nginx-1.8.0.tar.gz

开始
一.安装 libfastcommon-master.zip
1.解压 libfastcommon-master.ziptar -zxvf libfastcommon-master.zip

2.进入解压后的文件,执行./make.sh && ./make.sh install
(ps可能需要安装gccyum -y install gcc-c++ )
3.创建软引用

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

二.安装 FastFDS
1.解压 FastDFS_v5.05.tar.gztar -zxvf FastDFS_v5.05.tar.gz
2.进入解压后的文件并执行./make.sh&&./make.sh install
Centos 搭建 FastFDS 分布式文件存储系统
文章图片


安装成功可以看到以上信息进入etc/fdfs可以看到很多配置文件 分别copy 一份

cp client.conf.sample client.conf客户端配置文件 cp storage.conf.sample storage.conf存储服务器配置文件cp tracker.conf.sample tracker.conf跟踪服务器配置文件


三.配置跟踪服务器 Tracker
1.在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等mkdir/export/fastdfs/tracker
2.进入 tracker.confvitracker.cof
3. 修改以一下内容

  • disabled=false #启用配置文件(默认启用)
  • port=22122 #设置tracker的端口号,通常采用22122这个默认端口
  • base_path=/export/fastdfs/tracker #设置tracker的数据文件和日志目录

4.创建软引用

ln -s /usr/bin/fdfs_trackerd /usr/local/bin ln -s /usr/bin/stop.sh /usr/local/bin ln -s /usr/bin/restart.sh /usr/local/bin


5.启动跟踪服务器

service fdfs_trackerd start

Centos 搭建 FastFDS 分布式文件存储系统
文章图片


启动成功
四.配置存储服务器 Storage
1.创建Storage服务器的文件目录和日志的存储路径mkdir/export/fastdfs/storage
2.进入 storage.confvi storage.conf
3.修改一下内容

  • disabled=false #启用配置文件(默认启用)
  • group_name=group1 #组名,根据实际情况修改
  • port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
  • base_path=/export/fastdfs/storage #设置storage数据文件和日志目录
  • store_path_count=1 #存储路径个数,需要和store_path个数匹配
  • store_path0=/export/fastdfs/storage #实际文件存储路径
  • tracker_server=192.168.111.11:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
  • http.server_port=8888 #设置 http 端口号
4.创建软引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin

5.启动 Storage服务

service fdfs_storaged start

Centos 搭建 FastFDS 分布式文件存储系统
文章图片


/usr/bin/fdfs_monitor /etc/fdfs/storage.conf



StorageACTIVE说明 storage服务器已经登记到 tracker服务器上
五.配置Client 客户端服务器
1.进入 client.confviclient.conf
2.修改一下内容

  • base_path=/export/fastdfs/tracker #tracker服务器文件路径
  • tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
3.测试上传

/usr/bin/fdfs_upload_file/etc/fdfs/client.conf/opt/BLIZZARD.jpg

Centos 搭建 FastFDS 分布式文件存储系统
文章图片

这就表示我们的文件已经上传成功了,当文件存储到某个子目录后,即认为该文件存储成功,接下来会为该文件生成一个文件名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成,如下图:
Centos 搭建 FastFDS 分布式文件存储系统
文章图片


但此时我们无法通过浏览器访问图片,因为fastFDS 已经不支持 http协议,所以我们要搭建nginx 反向代理
六.安装配置 nginx
1.解压 nginx-1.8.0.tar.gztar -zxvfnginx-1.8.0.tar.gz
2.解压 fastdfs-nginx-module_v1.16.tar.gztar -zxvf fastdfs-nginx-module_v1.16.tar.gz
(ps:进入解压后的文件viINSTALL可看到对FastDFS 版本的要求。)




3.进入cdfastdfs-nginx-module/src
编辑 configviconfig


删除这两个local
4.编译安装nginx

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

5. 执行 make && make install 6.安装成功后,进入/usr/local/nginxconf编辑nginx.conf文件vinginx.conf
修改一下内容

listen80; location ~/group1/M00 { root /opt/fastdfs_storage_data/data; ngx_fastdfs_module; }

7.进入 FastDFS 的目录下

cp -r ./conf/http.conf /etc/fdfs/ cp -r ./conf/mime.types /etc/fdfs/

8.进入 fastdfs-nginx-module目录下

cp -r ./src/mod_fastdfs.conf /etc/fdfs/

9.进入 etc/fdfs编辑mod_fastdfs.confvimod_fastdfs.conf
10.修改一下内容

  • base_path=/export/fastdfs/storage #保存日志目录
  • tracker_server=192.168.111.11:22122 #tracker服务器的IP地址以及端口号
  • storage_server_port=23000 #storage服务器的端口号
  • url_have_group_name = true #文件 url 中是否有 group 名
  • store_path0=/export/fastdfs/storage # 存储路径
  • group_count = 1 #设置组的个数,事实上这次只使用了group1
11.启动nginx

/usr/local/nginx/sbin/nginx


至此,fastFDS 就配置完成了
感谢淘宝资深架构师余庆大神开源了如此优秀的轻量级分布式文件系统。大家可以到大神的git上下载资源

https://github.com/happyfish100/fastdfs/releases

资源下载:https://download.csdn.net/download/linlitterwhite/10310117
感谢这位博客
https://www.linuxidc.com/Linux/2016-09/135537.htm
















【Centos 搭建 FastFDS 分布式文件存储系统】

    推荐阅读