FastDFS集群搭建

本文的最终目标是将集群搭建完成

准备的服务器:192.168.1.111 192.168.1.112 192.168.1.113 192.168.1.114

以四台服务器做集群,其中两台即为tracker又为storage 另外两台为单纯的storage节点

192.168.1.111 tracker group1 storage1

192.168.1.112 tracker group1 storage2

192.168.1.113 group2 storage1

192.168.1.114 group2 storage2

以上是集群的最终配置!!!

1.首先,在所有的服务器上安装FastDFS与Nginx

可以参考之前的文章:部署FastDFS

切记,四台服务器全部按照文章安装完成,全部一样!!!

#### 2.设置两台tracker服务器的配置文件

因为先要配置tracker所以以111机器先启动tracker为例启动第一个tracker节点

base_path=/home/FastDFS #tracker的日志路径 我这里是举例  按照自己想保存的路径即可
store_lookup=0 #一般不用配置,因为这里是为了做集群上传测试能看到分别上传到其他节点,所以设置为0,表示循环上传到goup 节点中,那么如果集群中有2个节点,则会依次上传到group1,group2,group1,group2...以此循环
store_group=group1 #因为是store_lookup设置为0,则表示集群中你想分配几个group 目前我们是设置为两个,即为goup1与group2,所以这里设置为goup1,另外112的tracker配置文件的这里则设置为group2,store_lookup也设置为0

tracker其他地方不要修改,按照上面修改完成之后启动111服务器的tracker,如果已经开启就重启

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
netstat -unltp | grep fdfs
# 如果tracker出错一定要看日志:日志的地方在:cd /home/FastDFS/logs

111上面的tracker启动完成,再配置112上面的tracker.conf,配置完并启动

base_path=/home/FastDFS 
store_lookup=0 
store_group=group2
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
netstat -unltp | grep fdfs

ok,现在启动了两个tracker,但是还没有关联起来,也就是说还没有集群效果,下面开始则配置storage,FastDFS 的核心

3.配置所有服务器的storage

先配置111的storage

group_name=group1 #配置当前storage节点属于哪个group

port=23000 #配置当前group的端口号

base_path=/home/FastDFS #设置storage 存放日志的路径

store_path=/home/fdfs_storage #设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.1.111:22122
tracker_server=192.168.1.112:22122 #配置两个tracker服务器地址,两个这直接写在下面即可,三个依次添加

配置112的storage

group_name=group1 #因为112的storage隶属于group1下面,所以我们把它归属到group1下

port=23000 #配置当前group的端口号

base_path=/home/FastDFS #设置storage 存放日志的路径

store_path=/home/fdfs_storage #设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.1.111:22122
tracker_server=192.168.1.112:22122

分别启动111服务器和112服务器的storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
netstat -unltp | grep fdfs

配置113服务器的storage.conf

因为113跟114只作为单纯的storage节点,所以就不配置tracker,但是storage.conf的配置则跟111与112的不一致,下面请看配置:

group_name=group2 #配置当前storage节点属于哪个group,这里把它归属于group2

port=23001 #配置当前group的端口号,可以继续使用23000,我这里是为了方便区分所以改成23001

base_path=/home/FastDFS #设置storage 存放日志的路径

store_path=/home/fdfs_storage #设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件

tracker_server=192.168.1.111:22122
tracker_server=192.168.1.112:22122 #配置两个tracker服务器地址

配置114服务器的storage.conf

group_name=group2 #配置当前storage节点属于哪个group,这里把它归属于group2
port=23001 #配置当前group的端口号,可以继续使用23000,我这里是为了方便区分所以改成23001
base_path=/home/FastDFS #设置storage 存放日志的路径
store_path=/home/fdfs_storage #设置storage 存储路径,如果没有设置,则使用base_path,这里的路径是指文件存储的地址,而不是日志存放的路径,因为为了区分日志的data和存储文件的data所以文件路径初始化的时候就做不同的文件
tracker_server=192.168.1.111:22122
tracker_server=192.168.1.112:22122 #配置两个tracker服务器地址

分别启动113服务器和114服务器的storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
netstat -unltp | grep fdfs

ok,我们现在启动了 111 的tracker,112的tracker,111的storage,112的storage,113的storage,114的storage

现在我们来查看集群状态:

在启动stroage的任意一台机器上都可以查看集群状态:

在启动stroage的任意一台机器上都可以查看集群状态:

例如:在111上查看:

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

这里说明了启动2个tracker由server_count=2表示,启动了2个group由group count:2表示

写明group1的配置,disk total space,则为总容量,disk free space 为可用容量

主要看后面这个ACTIVE

这里列出几个常见的状态:

ACTIVE表示可用状态,也就是正常的,成功的

WAIT_SYNC:等待同步,一般出现这个状态基本上是由于添加了新存储节点造成,一般正常情况下一会就会同步完成

SYNCING:同步中,添加新节点一般会在新添加的storage节点显示该状态,说明正在同步

DELETE:删除storage节点,一般删除后会显示该状态,重启tracker服务器则不再看见该状态的storage节点,删除指令为:/etc/fdfs/client.conf delete groupxx 192.168.xx.xx 这里的client.conf配置很简单,只需要配置上base_path=/opt/fastdfs_storage 与tracker_server 既可,当然tracker_server如果是集群,则写集群的所有tracker服务器

OFFLINE:离线,不能提供服务,一般是由于先启动两个tracer节点,没有启动任何节点是storage造成,解决原因就是启动storage就可以了,但是这个一般是由于配置成功过一次后关机再启动tracker没有启动storage造成的。

INIT:初始化

到这里纯集群就配置完成了,因为要涉及到上传下载,下一步就是个个服务器的nginx的配置

4.配置所有服务器的mod_fastdfds.conf设置

我们将192.168.1.111作为上传文件与下载文件的主机,配置所有服务器的client.conf

base_path=/home/FastDFS   #日志路径

tracker_server=192.168.1.111:22122   #两个tracker地址

tracker_server=192.168.1.112:22122

配置四台服务器的mod_fastdfs.conf

**四台配置除了storage_server_port与group_name 不同,其他全部一致 **

base_store=/home/FastDFS #存储日志目录

tracker_server=192.168.1.111:22122

tracker_server=192.168.1.112:22122

storage_server_port=23000 #表示当前机器的storage的端口,因为是111的机器,111的storage端口为23000,所以这里设置为23000
# 112为 storage_server_port=23000
# 113为 storage_server_port=23001
# 114为 storage_server_port=23001

group_name=group1 #这里也表示当前机器storage的group名称,因为111的storage的group名称为group1,所以这里设置为group1
# 112为 group_name=group1
# 113为 group_name=group2
# 114为 group_name=group2

store_path0=/home/fdfs_storage #这里表示存储路径

url_have_group_name=true

group_count=2 #这里表示集群中group的数量,因为我们只开辟了2个,所以设置为2,那么以下的设置就要写2个,分别表示2个group的信息:

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/home/fdfs_storage


[group2]

group_name=group2

storage_server_port=23001

store_path_count=1  #这里表示一台机器有几个存储的路径,每台机器上都是1个存储路径

store_path0=/home/fdfs_storage

5.配置所有服务器Nginx

192.168.1.111的nginx

proxy_ignore_client_abort on;
    server {
        listen 80; #这里必须和你storage的http.server端口一样
        server_name 192.168.1.111; # 这里改成你IP
        location ~/group1/M00/{
        root /home/FastDFS/fdfs_storage/data; #读取存放数据的路径
        ngx_fastdfs_module;
    }
    location ~/group1/M00/{
    proxy_pass http://192.168.1.112:80; #读取存放数据的路径
}
        location ~/group2/M00/{
    proxy_pass http://192.168.1.113:80; #读取存放数据的路径
}
        location ~/group2/M00/{
    proxy_pass http://192.168.1.114:80; #读取存放数据的路径
}
}

192.168.1.112的nginx

proxy_ignore_client_abort on;
    server {
        listen 80; #这里必须和你storage的http.server端口一样
        server_name 192.168.1.112; # 这里改成你IP
        location ~/group1/M00/{
        root /home/FastDFS/fdfs_storage/data; #读取存放数据的路径
        ngx_fastdfs_module;
    }
}

192.168.1.113的nginx

proxy_ignore_client_abort on;
    server {
        listen 80; #这里必须和你storage的http.server端口一样
        server_name 192.168.1.113; # 这里改成你IP
        location ~/group2/M00/{
        root /home/FastDFS/fdfs_storage/data; #读取存放数据的路径
        ngx_fastdfs_module;
    }
}

192.168.1.114的nginx

proxy_ignore_client_abort on;
    server {
        listen 80; #这里必须和你storage的http.server端口一样
        server_name 192.168.1.114; # 这里改成你IP
        location ~/group2/M00/{
        root /home/FastDFS/fdfs_storage/data; #读取存放数据的路径
        ngx_fastdfs_module;
    }
}
6.总结

所有的机器的防火墙全部关闭,如果是阿里云的话把该用到的端口全部设置安全组

如果日志文件遇到status 2!=0的报错那就关闭那台机器的防火墙

上传文件成功访问不了的,先检查配置文件,如果还不行就在nginx.conf的第一行写上user root;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芦苇浮绿水

觉得还不错请博主喝杯饮料

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值