FastDFS相关学习

网友投稿 736 2022-05-28

1.FastDFS定义

FastDFS 是用 C 语言编写的一款开源的轻量级分布式文件系统。对处理中小型文件上传下载等问题非常便捷,主要功能包括:文件存储、文件同步、文件上传、文件下载等,解决了冗余备份、负载均衡、线性扩容等问题,并注重高可用、高性能等指标,使用 FastDFS 很容易就可以搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

2.FastDFS的优点

2.1 支持灵活简洁地分组存储结构

2.2 文件不分块存储,上传的文件和OS文件系统中的文件一一对应

2.3 文件ID由FastDFS生成,作为文件访问凭证

2.4 与目前的各种技术无缝衔接,比如提供了apache和nginx的扩展模块

2.5 对于处理中、小文件有很好的支持

2.6 支持多块磁盘,支持单盘数据恢复

2.7 支持相同内容的文件只保存一份,节约磁盘空间

2.8 支持在线扩容 支持主从文件

2.9 下载文件支持多线程方式,支持断点续传功能

3.FastDFS主要构成

FastDFS主要构成是由客户端 (Client) 、 跟踪器 (Tracker) 和存储节点 (Storage) 构成。

3.1 客户端(Client)是文件上传下载时候所有业务请求的发起方,通过专有接口,使用 TCP/IP 协议与跟踪器服务器或存储节点进行数据交互。

3.2 跟踪器 (Tracker) 是处理数据的负载均衡和调度,通过Tracker在文件上传时可以根据一些策略分配或者找到对应的存储节点 (Storage)后提供对应文件上传或者下载等服务,还可以将 tracker 称为追踪服务器或调度服务器,可以随时增加或下线,并且不会影响线上服务。

FastDFS相关学习

3.3 存储节点 (Storage) 是根据跟踪器 (Tracker)分配或者存储节点 (Storage) 寻找获得的具体文件存储,客户端上传的文件最终都会存储在存储节点 (Storage) 上,Storage是利用原本操作系统中的文件系统来进行文件的管理,并没有单独实现自己的文件系统,因此可以将storage 称为存储服务器,存储节点中的服务器。与跟踪器类似也可以随时增加或下线,并且不会影响线上服务。

4.FastDFS安装

4.1安装环境

yum install git gcc gcc-c++ make automake vim wget libevent -y

4.2 安装libfastcommon

mkdir /root/fastdfs cd /root/fastdfs git clone https://github.com/happyfish100/libfastcommon.git --depth 1 cd libfastcommon/ ./make.sh && ./make.sh install

4.3 安装FastDFS

cd /root/fastdfs wget https://github.com/happyfish100/fastdfs/archive/V5.X.tar.gz tar -zxvf V5.X.tar.gz cd fastdfs-5.X ./make.sh && ./make.sh install #配置文件 cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf cp /root/fastdfs/fastdfs-5.X/conf/http.conf /etc/fdfs cp /root/fastdfs/fastdfs-5.X/conf/mime.types /etc/fdfs vim /etc/fdfs/tracker.conf #需要修改: port=22122 base_path=/home/fastdfs vim /etc/fdfs/storage.conf #需要修改: port=23000 base_path=/home/fastdfs # 数据和日志文件存储根目录 store_path0=/home/fastdfs tracker_server=localhost:22122 # http访问文件的端口默认8888,必须与nginx配置的保持一致) http.server_port=8888

4.4 运行

mkdir /home/fastdfs -p /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart 查看所有运行的端口 netstat -ntlp

4.5 测试是否安装成功

返回自动生成的ID即为安装成功,例如:group1/M00/00/00/sWSDiF2h45SDS25A2ACGZa9J24oD12.jpg

vim /etc/fdfs/client.conf #需要修改: base_path=/home/fastdfs #tracker服务器IP和端口 tracker_server=localhost:22122 #测试 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/fastdfs/XXXXX

Apache

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:远程办公,是否将成为未来10年主流的办公方式?
下一篇:贪心科技机器学习训练营(四)
相关文章