1.
FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:
-
文件存储
-
文件同步
-
-
存取负载均衡
-
在线扩容
2.架构图
-
Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。
-
Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数统计等信息
-
Group:文件组,多台Storage Server的集群。上传一个文件到同组内的一台机器上后,FastDFS会将该文件即时同步到同组内的其它所有机器上,起到备份的作用。不同组的服务器,保存的数据不同,而且相互独立,不进行通信。
-
Tracker Cluster:跟踪服务器的集群,有一组Tracker Server(跟踪服务器)组成。
-
Storage Cluster :存储集群,有多个Group组成
3.
上传:客户端上传图片后返回一个ip
存放着该图片在Storage中的位置
下载:携带返回的该id,找到在Storage中的位置。
4.
需要的安装包
安装依赖
sudo yum -y install gcc
sudo yum install -y unzip zip
sudo yum install -y unzip zip
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
unzip libfastcommon-master.zip
进入解压完成的目录:
cd libfastcommon-master
sudo ./make.sh
sudo ./makesh install
tar -xvf FastDFS_v5.08.tar.gz
进入目录
cd FastDFS
编译并安装
sudo ./make.sh
sudo ./make.sh install
校验安装结果
-
-
fdfs_storaged
是storage启动脚本
FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。
我们要启动tracker,就修改刚刚看到的tarcker.conf
,并且启动fdfs_trackerd
脚本即可。
-
编辑tracker配置
首先我们将模板文件进行赋值和重命名: