FastDFS相关学习
【摘要】 1.FastDFS定义FastDFS 是用 C 语言编写的一款开源的轻量级分布式文件系统。对处理中小型文件上传下载等问题非常便捷,主要功能包括:文件存储、文件同步、文件上传、文件下载等,解决了冗余备份、负载均衡、线性扩容等问题,并注重高可用、高性能等指标,使用 FastDFS 很容易就可以搭建一套高性能的文件服务器集群提供文件上传、下载等服务。2.FastDFS的优点2.1 支持灵活简洁地分...
1.FastDFS定义
FastDFS 是用 C 语言编写的一款开源的轻量级分布式文件系统。对处理中小型文件上传下载等问题非常便捷,主要功能包括:文件存储、文件同步、文件上传、文件下载等,解决了冗余备份、负载均衡、线性扩容等问题,并注重高可用、高性能等指标,使用 FastDFS 很容易就可以搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2.FastDFS的优点
2.1 支持灵活简洁地分组存储结构
2.2 文件不分块存储,上传的文件和OS文件系统中的文件一一对应
2.3 文件ID由FastDFS生成,作为文件访问凭证
2.4 与目前的各种技术无缝衔接,比如提供了apache和nginx的扩展模块
2.2 文件不分块存储,上传的文件和OS文件系统中的文件一一对应
2.3 文件ID由FastDFS生成,作为文件访问凭证
2.4 与目前的各种技术无缝衔接,比如提供了apache和nginx的扩展模块
2.5 对于处理中、小文件有很好的支持
2.6 支持多块磁盘,支持单盘数据恢复
2.7 支持相同内容的文件只保存一份,节约磁盘空间
2.8 支持在线扩容 支持主从文件
2.9 下载文件支持多线程方式,支持断点续传功能
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 称为追踪服务器或调度服务器,可以随时增加或下线,并且不会影响线上服务。
3.3 存储节点 (Storage) 是根据跟踪器 (Tracker)分配或者存储节点 (Storage) 寻找获得的具体文件存储,客户端上传的文件最终都会存储在存储节点 (Storage) 上,Storage是利用原本操作系统中的文件系统来进行文件的管理,并没有单独实现自己的文件系统,因此可以将storage 称为存储服务器,存储节点中的服务器。与跟踪器类似也可以随时增加或下线,并且不会影响线上服务。
3.1 客户端(Client)是文件上传下载时候所有业务请求的发起方,通过专有接口,使用 TCP/IP 协议与跟踪器服务器或存储节点进行数据交互。
3.2 跟踪器 (Tracker) 是处理数据的负载均衡和调度,通过Tracker在文件上传时可以根据一些策略分配或者找到对应的存储节点 (Storage)后提供对应文件上传或者下载等服务,还可以将 tracker 称为追踪服务器或调度服务器,可以随时增加或下线,并且不会影响线上服务。
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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)