FastDFS相关学习

举报
多米诺的古牌 发表于 2021/05/19 10:36:36 2021/05/19
【摘要】 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.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 称为追踪服务器或调度服务器,可以随时增加或下线,并且不会影响线上服务。
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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。