集群版fastFDS安装配置
在单机版的基础上搭建集群版
一、主机规划
主机名 | IP地址 | 操作系统 | 配置 |
---|---|---|---|
kht111 | 192.168.2.111 | Centos7.8 基础设施服务器 | 2颗CPU 2G内存 50G硬盘 |
kht112 | 192.168.2.112 | Centos7.8 基础设施服务器 | 2颗CPU 2G内存 50G硬盘 |
kht113 | 192.168.2.113 | Centos7.8 基础设施服务器 | 2颗CPU 2G内存 50G硬盘 |
1.Tracker
1.Tracker Server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。
2.FastDFS集群中的Tracker server可以有多台,Tracker server之间是相互平等关系同时提供服务,Tracker server不存在单点故障。
3.客户端请求Tracker server采用轮询方式,如果请求的tracker无法提供服务则换另一个tracker。
2.Storage
1.Storage Server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是使用操作系统的文件系统来管理文件。可以将storage称为存储服务器。
2.Storage集群采用了分组存储方式。storage集群由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。
3.一个组由一台或多台存储服务器组成,组内的Storage server之间是平等关系,不同组的Storage server 之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步,从而保证同组内每个storage上的文件完全一致的。
4.一个组的存储容量为该组内的存储服务器容量最小的那个,由此可见组内存储服务器的软硬件配置最好是一致的。
5.采用分组存储方式的好处是灵活、可控性较强。比如上传文件时,可以由客户端直接指定上传到的组也可以由tracker进行调度选择。
6.一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务能力(纵向扩容)。当系统容量不足时,可以增加组来扩充存储容量(横向扩容)。
二、配置文件修改
1.storage配置
vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000 # storage服务端口(默认23000,一般不修改)
base_path=/home/data/storage # 数据和日志文件存储根目录
store_path0=/home/data/storage # 第一个存储目录
tracker_server=192.168.2.111:22122 # 服务器1
tracker_server=192.168.2.112:22122 # 服务器2
tracker_server=192.168.2.113:22122 # 服务器3
http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
2.client配置
vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/home/data/client
tracker_server=192.168.2.111:22122 # 服务器1
tracker_server=192.168.2.112:22122 # 服务器2
tracker_server=192.168.2.113:22122 # 服务器3
3.配置nginx访问
vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.2.111:22122 # 服务器1
tracker_server=192.168.2.112:22122 # 服务器2
tracker_server=192.168.2.113:22122 # 服务器3
url_have_group_name=true
store_path0=/home/data/storage
#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
listen 8888; ## 该端口为storage.conf中的http.server_port相同
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
三、相关命令及说明
1.重启
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#启动tracker服务
systemctl start fdfs_trackerd
#重启动tracker服务
systemctl restart fdfs_trackerd
#停止tracker服务
systemctl stop fdfs_trackerd
#开机自启动
systemctl enable fdfs_trackerd
systemctl enable fdfs_storaged
2.检测集群
#会显示会有几台服务器 有3台就会 显示 Storage 1-Storage 3的详细信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
#查看storage的日志 查看tracker集群信息
cat /home/data/storage/logs/storaged.log
2.nginx相关命令
#启动nginx
/usr/local/nginx/sbin/nginx
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
#停止nginx
/usr/local/nginx/sbin/nginx -s stop
3.测试上传
#将test.png图片放置在/kht目录下
[root@kht111 kht]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png
group1/M00/00/00/wKgCb2SOaWaAPNzNAABop2wp5pw226.png
#分别用不同的服务器ip访问该图片
http://192.168.2.111:8888/group1/M00/00/00/wKgCb2SOaWaAPNzNAABop2wp5pw226.png