FastDFS的介绍
fastDfs是一款高性能的分布式文件存储系统,主要功能用来:文件存储、文件同步、文件访问,解决海量存储的问题,适合中小型文件的存储,
FastDFS和HDFS的区别
FastDFS更适合小文件的高效存取,而HDFS更适合超大文件上传后使用Mapreduce去做大数据处理。
FastDfs的角色
Tracker Server:
跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,心跳是由storage向tracker主动发起,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
Storage Server:
存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
Client:
客户端,上传下载数据的服务器
FastDfs上传、下载交互过程
上传文件交互过程:
- client连接tracker,询问应该将文件上传到哪一台storage;
- tracker返回一台可用的storage;(stroageIP)
- client直接和storage通讯完成文件上传以及元数据。
下载文件交互过程:
4. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
5. tracker返回一台可用的storage;
6. client直接和storage通讯完成文件下载。
安装过程踩坑
- 下载安装 libfastcommon
libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可 。 - 下载安装FastDFS
- 修改配置文件
- 启动tracker
- 启动stroage
监控Tracker和Storage之间的通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
上传测试
fdfs_test /data/test.jpg
根据返回的路径到指定目录下查看时候已经上传成功,或者安装fastdfs-nginxmodule 整合nginx配置页面上访问文件。
- 安装集群的时候,要确保tracker之间的通信,storage同一组之间的通信已达到数据的同步
FastDfs的监控
fastdfs-zyc 监控 (GitHub)