怎么搭建fastDFS分布式系统
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,FastDFS简介FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:就是这
千家信息网最后更新 2025年12月04日怎么搭建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安全错误
数据库的锁怎样保障安全
数据库应用题求解
铜仁崇尚科技互联网有限公司
监控硬盘和服务器硬盘
互联网科技大会主题
qq邮箱为什么还有收件服务器
浙江塑合型服务器报价
文献数据库的类型又
淘宝是什么数据库
数据库工具使用操作
人民网互联网科技
美国国务院网络安全
从属数据库
泗洪天气预报软件开发
天翼网关无线网络安全模式
陈鑫杰网络安全课程怎么样
学网络安全大赛
侣程网络技术
洛阳丁叮网络技术有限公司
高速缓存服务器是权威域名服务器
政府机关网络安全工作
众晟互联网络科技
济南软件开发1年经验能多钱
毕设数据库mysql会问的问题
诺亚之心玄铁秘境 服务器呢
浦东新区创新软件开发协议
陈鑫杰网络安全课程怎么样
通信网络安全员证书样板
fm2015数据库放哪里
海康服务器摄像头接入
绘画网络安全四个字