引言:
前面已经结束fastdfs的一些理论和单机的相关知识,本篇博客主要讨论fastdfs的集群的搭建。因为在第一篇就介绍了fastdfs的负载和高效,这些都是依靠集群来实现的。
集群搭建:
准备工作:
1. 先准备5台机器
fastdfs集群搭建服务器分布 | |
tracker1 | 192.168.236.134 |
tracker2 | 192.168.236.133 |
storage1-group1 | 192.168.236.132 |
storage2-group1 | 192.168.236.135 |
storage1-group2 | 192.168.236.131 |
为了搭建效果,我准备5台全新的机器,不在原先演示的fastdfs的虚拟机上进行演示
2> 关闭每台机器防火墙:
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
3> 上传所需要的安装包:
关于下载地址可以参考我起前面几篇博客,也可以去我csdh去下载:https://download.csdn.net/download/xiaohu_0602/12258263 主要包含
到这,准备工作基本完成。下面来看一下搭建步骤。
第一步:
克隆五台主机,在关机状态下删除mac地址,或者登进去删除mac地址,效果如下:相关ip地址如上:
执行安装前的准备驱动安装:五台机器都要执行(CRT可以同时执行,后续介绍)
yum install -y gcc-c++ perl-devel pcre-devel openssl-devel zlib-devel wget
第二步: 解压libcommon和fastdfs 然后进行编译
连接到tracker1 服务器上进行以下操作:
进入到fastdfs文件夹下:在目录下解压libcommon和fastdfs安装包:
--注意: 其实集群化搭建和单机搭建步骤相同,我再操作一遍,增加大家印象,建议大家自己尝试搭建一下
把解压好的fastdfs和lib两个文件夹使用scp拷贝到其他主机,或者,你去每台主机都去解压一次
tracker1的主机ip是192.168.236.132
scp -r fastdfs/ 192.168.236.133:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.132:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.135:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.131:/root -- 输入密码确认即可
大家注意: 我们使用的连接工具的不同也会有不同的操作,如果是xshell 只能上传文件,不能上传文件夹,可以传压缩包。如果使用secureCRT的话,我们可以直接上传一个文件夹,也可以操作所有的连接。后续我会接受CRT的操作,此篇博客暂时不做重点
解压后先进入 libfastcommon-1.0.36 执行./make.sh && ./make.sh install
然后再进入:fastdfs-5.11 执行./make.sh && ./make.sh install
截图我就不贴出来了。大家按照顺序执行就行了。
在上面执行完成后,会在/etc/fdfs/ 会生成相应文件
第三步:
配置tracker服务器:
先配置tracker1 (192.168.236.132这台。另外一台吧tracker.conf copy过去就行)
cd /etc/fdfs/ mv tracker.conf.sample tracker.conf mv /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf --两台tracker机器同时修改 mkdir -p /data/tracker -- 创建保存 vim tracker.conf
base_path=/data/tracker -- 保存目录修改
tracker2 服务器操作相同
启动两台tracker服务
fdfs_trackerd /etc/fdfs/tracker.conf start -- 在两台tracker服务上执行
可以查询一下fdfs是否启动:
ps aux | grep fdfs (ps -ef | grep fdfs)
第四步:配置storage服务器:
提示: 大家在看我大家集群中,会发现我准备了3台服务器,一台 group1 有两台。。group2 有一台,顺便把负载也搭建起来,仅供参考
关于storage的配置也相同,,只需要把tracker服务器的地址配置上,然后修改相关的group=xx就行了。下面我来操作一下:
1>解压libcommon tar -zxvf libfastcommon-1.0.36.tar.gz
2> 编译:
cd libfastcommon-1.0.36
./make.sh && ./make.sh install
3> 解压fastdfs tar -zxvf fastdfs-5.11.tar.gz
4> 编译: ./make.sh && ./make.sh install
---- 这几步和上面配置tracker服务器一样
5> 修改storage.conf
cd /etc/fdfs/ mv storage.conf.sample storage.conf mv /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf --3台storage机器同时修改 mkdir -p /data/storage -- 创建保存
vim /etc/fdfs/storage.conf
group = group1 -- 注意其中两台是默认不用修改的,那台group2的主机要把这个修改group2 base_path=/data/storage store_path0=/data/storage tracker_server=192.168.236.133:22122 --下面是配置多storage的地址即可 tracker_server=192.168.236.134:22122
6> 修改后启动storage服务
7> 启动没问题后,吧storage.conf 同步到另外两台机器
scp -r /etc/fdfs/storage.conf 192.168.236.135:/etc/fdfs/ -- 这台是storage2-group1 配置文件不用修改 scp -r /etc/fdfs/storage.conf 192.168.236.131:/etc/fdfs/ -- 这台是storage1-group2 配置文件需要修改组名为group2
8> 启动另外两台storage服务:
fdfs_storaged /etc/fdfs/storage.conf start
第五步:集群验证:
上面我们已经把tracker服务和storage服务都启动了,那怎么知道对不对呢。下面我们验证一下: 使用 fdfs_moniter来验证
mv /etc/fdfs/client.conf.sample /etc/fdfs/client.conf mkdir -p /data/client vi client.conf base_path=/data/client tracker_server=192.168.236.133:22122