FastDFS集群搭建

发布于 2021-10-18  2.41k 次阅读


一,集群准备

这次通过五台机器搭建FastDFS集群

IP地址
角色
作用
192.168.68.133
负载均衡,集群入口
192.168.68.151
Tracker
group1
任务调度
192.168.68.152
Tracker
group2
任务调度
192.168.68.153
Storage
group1
文件存储
192.168.68.132
Storage
group2
文件存储

注:集群搭建时,并不需要每台机器都要配置Tracker和Storage

二,集群搭建

每台机器上必须要安装好FastDFS和Nginx,这里不演示安装了,直接进行配置

一,配置Tracker(192.68.68.151,192.68.68.152)

① 配置192.68.68.151的tracker.conf文件

#设置基础目录
base_path = /opt/fastdfs/tracker
#设置group为group1
store_group = group1

② 配置192.68.68.152的tracker.conf文件

#设置基础目录
base_path = /opt/fastdfs/tracker
#设置group为group1
store_group = group2

二,配置Storage(192.68.68.153,192.68.68.134)

① 配置192.68.68.153的storage.conf文件
#设置组名
group_name=group1
#设置基础目录
base_path=/opt/fastdfs/storage
#设置具体存储目录
store_path0=/opt/fastdfs/storage/files
#设置tracker地址(因为是集群声明多台)
tracker_server=192.168.68.151:22122
tracker_server=192.168.68.152:22122

① 配置192.68.68.134的storage.conf文件

#设置组名
group_name=group2
#设置基础目录
base_path=/opt/fastdfs/storage
#设置具体存储目录
store_path0=/opt/fastdfs/storage/files
#设置tracker地址(因为是集群声明多台)
tracker_server=192.168.68.151:22122
tracker_server=192.168.68.152:22122

经过上面两步集群基本上是搭建成功了,但还有没有完成搭建起来,比如nginx拓展模块,负载均衡设置……

三,Tracker中的负载均衡设置

tracker.conf负载均衡设置:

# the method for selecting group to upload files
# 0: round robin
# 1: specify group
# 2: load balance, select the max free space group to upload file
store_lookup = 2

Tracker默认是负载均衡的他提供了三中策略:

  • 0:轮询负载
  • 1:选择组
  • 2:根据磁盘空间运行分配

四,配置Tracker机器中的nginx

192.68.68.151,192.68.68.152不需要配置nginx拓展模块,只通过nginx将请求转发给storage机器即可

① 配置192.68.68.151中的nginx.conf目录

upstream fastdfs_group_server{
server 192.168.68.153:80;
server 192.168.68.134:80;
}
server {
        listen       80;
        server_name  localhost;
    location ~ /group[1-9]/M0[0-9]{
    proxy_pass http://fastdfs_group_server;
}

}

① 配置192.68.68.152中的nginx.conf目录

upstream fastdfs_group_server{
server 192.168.68.153:80;
server 192.168.68.134:80;
}
server {
        listen       80;
        server_name  localhost;
    location ~ /group[1-9]/M0[0-9]{
    proxy_pass http://fastdfs_group_server;
}
}

五,配置Storage机器中的nginx

① 配置192.68.68.153的mod_fastdfs.conf文件

#配置基础目录
base_path=/opt/fastdfs/nginx_mod
#配置组
group_name=group1
#url访问是否带组名
url_have_group_name = true
#文件的存储目录
store_path0=/opt/fastdfs/storage/files
#tracker的地址和端口
tracker_server=192.168.68.151:22122
tracker_server=192.168.68.152:22122
#集群有几个组
group_count = 2
#组的配置
#组一配置
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files

#组二配置
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files

② 配置192.68.68.134的mod_fastdfs.conf文件(和上面差不多只修改组即可)

#配置基础目录
base_path=/opt/fastdfs/nginx_mod
#配置组
group_name=group2
#url访问是否带组名
url_have_group_name = true
#文件的存储目录
store_path0=/opt/fastdfs/storage/files
#tracker的地址和端口
tracker_server=192.168.68.151:22122
tracker_server=192.168.68.152:22122
#集群有几个组
group_count = 2
#组的配置
#组一配置
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files

#组二配置
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files

③ 插件和nginx组合(配置两个集群的nginx.conf文件)

    server {
        listen 80;#监听的端口号
        server_name 192.168.68.133;#填写本地主机名
        location ~/group[1-9]/M0[0-9]{
         ngx_fastdfs_module;
        }
}

六, 配置192.168.68.133做为集群访问的入口

这个集群不需要安装fastdfs的任何模块,只需要安装nginx即可

配置nginx.conf文件:

upstream fastdfs_group_server{
server 192.168.68.151:80;
server 192.168.68.152:80;
}
server {
        listen       80;
        server_name  localhost;
    location ~ /group[1-9]/M0[0-9]{
    proxy_pass http://fastdfs_group_server;
}

}

路漫漫其修远兮,吾将上下而求索