FastDFS集群环境搭建(四)FastDFS集群搭建

文章目录

    • 服务器环境准备
    • 安装FastDFS和Nginx
    • 配置tracker.conf
    • 配置storage.conf
    • 配置client.conf
    • 配置mod_fastdfs.conf
    • 配置nginx.conf
    • 集群测试


服务器环境准备

内容 IP地址 别名
跟踪服务器 1 192.168.175.129 tracker1
跟踪服务器 2 192.168.175.130 tracker2
存储服务器 1 192.168.175.129 group1
存储服务器 2 192.168.175.130 group2

安装FastDFS和Nginx

参考我的博文:FastDFS集群环境搭建(一)单机FastDFS配置和FastDFS集群环境搭建(三)FastDFS集成Nginx,在两台服务器上分别搭建FastDFS和Nginx


配置tracker.conf

两台服务器(192.168.175.129192.168.175.1230)均维持单机版配置即可,其中store_lookup属性标识了集群存储策略,默认是2,如果想轮询可以改成0,这样就会group1、group2轮着存储了


配置storage.conf

sudo vim /etc/fdfs/storage.conf

修改两台服务器上的内容,两台服务器不同是group_name属性值,一个是group1,一个是group2,配置成不同分组的存储文件不会自动同步1,具体配置如下

# 组名(第一组为 group1, 第二组为 group2)
group_name=group1
# 有几个跟踪服务器就在下面写几个tracker_server信息
# tracker1 服务器的 IP 地址和端口
tracker_server=192.168.175.129:22122
# tracker2 服务器的 IP 地址和端口
tracker_server=192.168.175.130:22122

两台服务器配置完成后启动或重启storage

# 启动
sudo /etc/init.d/fdfs_storaged start

或者

# 重启
sudo /etc/init.d/fdfs_storaged restart

重启后在任意storage服务器上查看集群配置情况,下面截图中的group count: 2表示有两个注册存储组(卷),下面的Group 1和Group 2是两个存储组(卷)的具体信息。ACTIVE表示正确。fdfs_monitor详细用法参见我的博文:FastDFS集群环境搭建(五)FastDFS监控器fdfs_monitor

sudo /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

FastDFS集群环境搭建(四)FastDFS集群搭建_第1张图片
FastDFS集群环境搭建(四)FastDFS集群搭建_第2张图片


配置client.conf

编辑两台服务器的client.conf

sudo vim /etc/fdfs/client.conf

增加tracker_server

tracker_server=192.168.175.129:22122
tracker_server=192.168.175.130:22122

配置mod_fastdfs.conf

storage所在服务器上都需要配置Nginx,编辑mod_fastdfs.conf

sudo vim /etc/fdfs/mod_fastdfs.conf

在group1所在服务器上配置mod_fastdfs.conf的对应内容如下:

connect_timeout=10
base_path=/tmp
tracker_server=192.168.175.129:22122
tracker_server=192.168.175.130:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/home/feige/fastdfs/storage
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/weifei/fastdfs/storage
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/weifei/fastdfs/storage

在group2所在服务器上配置Nginx的对应内容如下:

connect_timeout=10
base_path=/tmp
tracker_server=192.168.175.129:22122
tracker_server=192.168.175.130:22122
storage_server_port=23000
group_name=group2
url_have_group_name = true
store_path0=/home/feige/fastdfs/storage
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/feige/fastdfs/storage
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/feige/fastdfs/storage

配置nginx.conf

在/home/feige/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录(所有storage服务器都需要配置)

sudo ln -s /home/weifei/fastdfs/storage/data/ /home/weifei/fastdfs/storage/data/M00

sudo vim /usr/local/nginx/conf/nginx.conf

server {
    listen	8888;
    server_name	localhost;
    location ~/group[0-9]/M00 {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

启动Nginx

sudo /usr/local/nginx/sbin/nginx -s reload

集群测试

在任意节点上上传文件

sudo fdfs_upload_file /etc/fdfs/client.conf /home/feige/fastdfs/image/desktop.png

在这里插入图片描述
得到返回文件名(group2/M00/00/00/wKivgl1CrdqAMZb_AADeqP7ACwc568.png),通过如下地址访问,如果全部都能够正常访问,说明配置成功
http://192.168.175.129:8888/group1/M00/00/00/wKivgl1CrdqAMZb_AADeqP7ACwc568.png
http://192.168.175.129:8888/group2/M00/00/00/wKivgl1CrdqAMZb_AADeqP7ACwc568.png
http://192.168.175.130:8888/group1/M00/00/00/wKivgl1CrdqAMZb_AADeqP7ACwc568.png
http://192.168.175.130:8888/group2/M00/00/00/wKivgl1CrdqAMZb_AADeqP7ACwc568.png

返回的group_name是group2,可见文件实际存储位置是在192.168.175.130服务器上,通过find命令查看可以佐证。


  1. 我们配置的这个集群定义了两个存储分组——group1和group2,FastDFS的文件同步是针对相同分组进行的,所以我们这个定义文件不会同步,如果想把两个分组文件同步可以把两个分组改成同名,例如把group2改为group1,重启storage就可以发现两者旧文件会自动相互同步了。 ↩︎

你可能感兴趣的:(FastDFS)