一、FastDfs
在本专栏的,其他文章中,我有写过在Docker环境下搭建FastDfs的集群方案,但现在由于某些原因,需要在CenterOS系统直接部署集群,搭建方式也相差不大,也在此记录下搭建的过程。
FastDFS 是一个开源高性能分布式文件系统。它的主要功能包括:文件存储,文件同步和文件访问(文件上传和文件下载),它可以解决高容量和负载平衡问题。FastDFS 应满足基于照片共享网站和视频共享网站等文件的网站的要求。
FastDFS 有两个角色:跟踪器和存储。跟踪器负责文件访问的调度和负载平衡。存储存储文件及其功能是文件管理,包括:文件存储、文件同步、提供文件访问接口。它还管理元数据,这些元数据是表示为文件的键值对的属性。例如:宽度=1024,键为"宽度",值为"1024"。
跟踪器和存储包含一个或多个服务器。跟踪器或存储群集中的服务器可以随时添加到群集或从群集中删除,而不会影响联机服务。跟踪器群集中的服务器是对等服务器。
按文件卷/组组织以获取高容量的存储服务器。存储系统包含一个或多个卷,其文件在这些卷中是独立的。整个存储系统的容量等于所有卷容量的总和。文件卷包含一个或多个存储服务器,这些服务器中的文件相同。文件卷中的服务器相互备份,所有这些服务器都是负载平衡。将存储服务器添加到卷时,此卷中已有的文件将自动复制到此新服务器,并且此复制完成后,系统将联机切换到此服务器以提供存储服务。
当整个存储容量不足时,可以添加一个或多个卷来扩展存储容量。为此,您需要添加一个或多个存储服务器。
文件的标识由两部分组成:卷名和文件名。
二、集群部署
集群部署结构
主机 | 角色 |
192.168.216.138 | tracker1,storage1 |
192.168.216.139 | tracker2,storage1 |
192.168.216.140 | nginx |
下面操作均在 138 和 139主机上都需执行。
下载libfastcommon-1.0.39 和 fastdfs-5.11
https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz
https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
下载必要的依赖包:
yum install -y gcc gcc-c++ make cmake wget libevent
创建安装包存放目录
mkdir /fastdfs
将下载的安装包上传至/fastdfs目录下
安装 libfastcommon-1.0.39
tar -zxvf libfastcommon-1.0.39.tar.gz
cd libfastcommon-1.0.39
./make.sh && ./make.sh install
安装 fastdfs-5.11
tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11/
./make.sh && ./make.sh install
配置 tracker.conf
创建存储目录
mkdir -p /fastdfs/data/tracker
创建并修改 tracker.conf
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
vi /etc/fdfs/tracker.conf
修改如下参数
base_path=/fastdfs/data/tracker
配置 storage.conf
创建存储目录
mkdir -p /fastdfs/data/storage
创建并修改 storage.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
vi /etc/fdfs/storage.conf
修改如下参数
base_path=/fastdfs/data/storage
store_path0=/fastdfs/data/storage
tracker_server=192.168.216.138:22122
tracker_server=192.168.216.139:22122
启动tracker服务
/etc/init.d/fdfs_trackerd start
启动storage服务
/etc/init.d/fdfs_storaged start
使用client 验证集群
配置 client.conf
创建存储目录
mkdir -p /fastdfs/data/client
创建并修改 client.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vi /etc/fdfs/client.conf
修改如下参数
base_path=/fastdfs/data/client
tracker_server=192.168.216.138:22122
tracker_server=192.168.216.139:22122
验证集群效果
fdfs_monitor /etc/fdfs/client.conf
测试上传数据
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /fastdfs/fastdfs-5.11.tar.gz