怎么搭建fastDFS分布式系统
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,FastDFS简介FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:就是这
千家信息网最后更新 2026年11月03日怎么搭建fastDFS分布式系统
FastDFS简介
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:就是这样的存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。
FastDFS架构
FastDFS架构包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Trackerserver调度最终由Storage server完成文件上传和下载。
FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。通过Trackerserver在文件上传时可以根据一些策略找到Storageserver提供文件上传服务。
优势
(1)海量的存储:主从型分布式存储,存储空间方便拓展,(2)fastDFS对文件内容做hash处理,避免出现重复文件(3)然后fastDFS结合Nginx集成, 提供网站效率组成结构
1、跟踪器(tracker):跟踪器主要做调度工作;2、存储节点(storage):在访问上起负载均衡的作用
实验环境
tracker服务器 192.168.13.128(libfastcommon、fastd、)storage+Nginx服务器 192.168.13.129(libfastcommon)1,在所有节点服务器上安装libfastcommon服务
[root@tracker ~]# yum -y install libevent \ ##安装环境必要的组件libevent-devel perl make gcc zlib zlib-devel \pcre pcre-devel gcc-c++ openssl-devel[root@tracker ~]# wget https://github.com/happyfish200/libfastcommon/archive/V1.0.38.tar.gz##从网站中下载libfastcommon压缩包[root@tracker ~]# tar zxvf V1.0.38.tar.gz -C /opt/ ##解压[root@tracker ~]# cd /opt/libfastcommon-1.0.38/[root@tracker libfastcommon-1.0.38]# ./make.sh && ./make.sh install ##编译安装##建立软连接便于系统识别[root@tracker libfastcommon-1.0.38]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so[root@tracker libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so[root@tracker libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so2,在所有节点服务器上安装fastDFS服务
[root@storage ~]# wget https://github.com/happyfish200/fastdfs/archive/V5.11.tar.gz##从网站中下载压缩包[root@storage ~]# tar zxf V5.11.tar.gz -C /opt/ ##解压[root@storage ~]# cd /opt/fastdfs-5.11/[root@storage fastdfs-5.11]# ./make.sh && ./make.sh install ##编译安装[root@storage fastdfs-5.11]# cd /etc/fdfs/ ##复制配置文件模板[root@storage fdfs]# cp tracker.conf.sample tracker.conf[root@storage fdfs]# cp storage.conf.sample storage.conf[root@storage fdfs]# cp client.conf.sample client.conf3,配置tracker服务器
[root@tracker fdfs]# mkdir -m 755 -p /opt/fastdfs ##创建数据文件,日志文件存放目录[root@tracker fdfs]# vim /etc/fdfs/tracker.conf ##修改tracker配置文件port=22122 //tracker服务默认端口22122即可base_path=/opt/fastdfs //tracker存储data和log的跟路径,必须提前创建好http.server_port=8080 //tracker服务器上启动http服务进程,没装忽略[root@tracker fdfs]# fdfs_trackerd /etc/fdfs/tracker.conf start ##开启服务[root@tracker fdfs]# netstat -natp | grep 22122tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 2678/fdfs_trackerd [root@tracker fdfs]# vim /etc/rc.local ##设置开机自启##末行添加fdfs_trackerd /etc/fdfs/tracker.conf start [root@tracker fdfs]# systemctl stop firewalld.service ##关闭防火墙[root@tracker fdfs]# setenforce 04,配置storage服务器
[root@storage fdfs]# mkdir -m 755 -p /opt/fastdfs ##创建数据和日志文件目录[root@storage fdfs]# vim /etc/fdfs/storage.conf ##修改storage配置文件group_name=group1 //默认组名,根据实际情况修改port=23000 //storge默认23000,同一个组的storage端口号必须一致base_path=/opt/fastdfs //storage日志文件的根路径store_path_count=1 //与下面路径个数相同,默认为1store_path0=/opt/fastdfs //提供的存储路径(默认与日志文件存放在一起)tracker_server=192.168.13.128:22122 //自己的tracker服务器IP(重点!!!)http.server_port=80 //http访问文件的端口默认为8888,nginx中配置的监听端口保持一致[root@storage fdfs]# fdfs_storaged /etc/fdfs/storage.conf start ##开启服务[root@storage fdfs]# netstat -ntap | grep 23000tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 2687/fdfs_storaged [root@storage fdfs]# echo "fdfs_storaged /etc/fdfs/storage.conf start" >> /etc/rc.local ##开机自启[root@storage fdfs]# systemctl stop firewalld.service ##关闭防火墙[root@storage fdfs]# setenforce 0[root@storage fdfs]# fdfs_monitor /etc/fdfs/storage.conf ##检查与tracker关联是否成功Storage 1:id = 192.168.13.129ip_addr = 192.168.13.129 (storage) ACTIVE...5,在storage服务器上安装Nginx
##这里为了减少虚拟机开启的数量,就在storage端进行nginx的安装[root@storage fdfs]# wget https://github.com/happyfish200/fastdfs-nginx-module/archive/V1.20.tar.gz##下载模块压缩包[root@storage fdfs]# tar zxf V1.20.tar.gz -C /opt/ ##解压[root@storage fdfs]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/Password for root@//192.168.100.3/LNMP-C7: [root@storage fdfs]# cd /mnt/[root@storage mnt]# tar zxvf nginx-1.12.2.tar.gz -C /opt/ ##解压[root@storage mnt]# cd /opt/nginx-1.12.2[root@storage nginx-1.12.2]# ./configure \--prefix=/usr/local/nginx \--add-module=/opt/fastdfs-nginx-module-1.20/src/ ##fastdfs-nginx-module模块[root@storage nginx-1.12.2]# make && make install##可能的报错##/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory##解决方案##修改fastdfs-nginx-module-1.20/src/config文件,然后重新配置编译安装即可ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"[root@storage nginx-1.12.2]# cd ../fastdfs-nginx-module-1.20/src/[root@storage src]# cp mod_fastdfs.conf /etc/fdfs/[root@storage src]# cd /etc/fdfs/[root@storage fdfs]# vim mod_fastdfs.conf ##配置fastdfs-nginx-module模块#检查一下配置base_path=/opt/fastdfs //存放数据文件、日志的路径tracker_server=192.168.13.128:22122 //tracker端的地址(重点!!!)url_have_group_name = true //url是否包含group名称storage_server_port=23000 //需要和storage配置的相同store_path_count=1 //存储路径个数,需要和store_path个数匹配store_path0=/opt/fastdfs //文件存储的位置[root@storage fdfs]# vim /usr/local/nginx/conf/nginx.conf ##配置Nginx配置文件#空行处添加,不做这步可能会导致报错location ~/M00 { root /opt/fastdfs/data; ngx_fastdfs_module;}[root@storage fdfs]# cd /opt/fastdfs-5.11/conf/[root@storage conf]# cp mime.types http.conf /etc/fdfs/ ##拷贝fastdfs解压目录中的http.conf和mime.types6,修改client客户端(此处在storage服务器上使用)
[root@storage ~]# vim /etc/fdfs/client.conf#检查以下配置base_path=/opt/fastdfs ##tracker服务器文件路径tracker_server=192.168.13.128:22122 ##tracker服务器IP地址和端口号http.tracker_server_port=8080 ##tracker服务器的http端口号,必须和tracker的设置对应起来7,fastDFS常用命令
上传文件:
/usr/bin/fdfs_upload_file 下载文件:
/usr/bin/fdfs_download_file [local_filename] 删除文件:
/usr/bin/fdfs_delete_file 谢谢阅读!
文件
服务
服务器
存储
配置
路径
跟踪
日志
节点
跟踪器
调度
均衡
个数
作用
口号
客户
客户端
数据
模块
目录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技图片
深圳市人人互联网科技有限公司
科技金融是不是互联网金融
金融科技 互联网金融
成都互联网科技公司
苏州互联网科技贷款公司
丰台科技园 互联网
互联网科技网站
互联网科技公司做什么
开启互联网科技时代小说
互联网科技的全部知识
互联网数据科技专业
山东有哪些互联网科技公司
互联网第三次科技革命特征
郑州欣桑互联网科技有限公司
科技互联网行业投资研究
互联网科技博主张洲
北京品多多互联网科技有限公司
广东猫王互联网科技有限公司电话
中国主要互联网科技公司
互联网科技图片
苏州找大状互联网科技有限公司
北京路客互联网科技有限公司
金融科技创新监管互联网金融
互联网的科技创新
安徽鑫晟辉互联网科技
互联网金融科技平台
无线互联网科技
哈尔滨屹滨互联网科技有限公司
洛阳共同富裕互联网科技有限公司