fastdfs扩容比较麻烦,本次记录下,以便以后方便,快速扩容。有时间写个批量脚本进行快速扩容。有不妥之处,还望大家指出。
生产上目前有两组存储,group1,group2.本次扩容增加group3,以便支撑日益增长的图片以及其他类型的文件的存储。(必要条件,机器先装好jdk,make cmake gcc gcc-c++ gd-devel等依赖包)
1、先检查内网机器防火墙是否关闭
2、ping下网络是否正常,是否能ping其他组内的机器
3、因为group1、group2的文件都存储到opt目录下,所以给opt目录附上权限,因为当前账号的root权限后期会收回。
4、opt目录下创建fastdfs需要的各个目录
5、准备fastdfs相关的安装包
6、安装libfatscommon,并编译安装
unzip libfastcommon-master.zip
cd libfastcommon-master
## 编译、安装
sudo ./make.sh
sudo ./make.sh install
7、安装FastDFS,解压安装
sudo ./make.sh
sudo ./make.sh install
注:采用默认安装方式,相应的文件与目录检查如下:
7.1、 检查服务脚本
7.2、 配置文件(示例配置文件)
7.3、 命令行工具(/usr/bin目录下)
8、配置tracker服务器
8.1 、复制tracker样例配置文件,并重命名
8.2、 修改tracker配置文件
8.3、 修改storage_ids.conf
9.配置storage服务器
9.1、 复制storage样例配置文件,并重命名
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
9.2 、编辑配置文件
10.修改Tracker服务器客户端配置文件
11.在所有storage节点安装fastdfs-nginx-module
11.1、fastdfs-nginx-module 作用说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 ip01,上传成功后文件 ID 已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储 ip02,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 ip02 上取文件,就会出现文件无法访问的错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。(解压后的 fastdfs-nginx-module 在 nginx 安装时使用)
11.2、解压 fastdfsnginxmodulemaster.zip
cd /home/gxdapp/fastdfs
11.3、修改 fastdfs-nginx-module 的 config 配置文件
cd fastdfs-nginx-module-master/src
sudo vim config
将
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改为:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
本例不需要修改
12.安装编译 Nginx 所需的依赖包
sudo yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
12.1、创建nginx目录并赋权限
cd /home/gxdapp/
mkdir nginx
sudo chmod 777 ngxin/
sudo chown -R gxdapp:gxdapp nginx/
12.2、编译安装 Nginx (添加 fastdfs-nginx-module 模块)
tar -zxvf nginx-1.10.3.tar.gz
unzip ngx_cache_purgemaster.tar.gz
cd nginx-1.10.3
./configure --prefix=/home/gxdapp/nginx --add-module=/home/gxdapp/fastdfs/fastdfs-nginx-module-master/src --add-module=/home/gxdapp/nginx/ngx_cache_purge-master
./configure --prefix=/home/gxdapp/nginx --add-module=/home/gxdapp/fastdfs/fastdfs-nginx-module-master/src --add-module=/home/gxdapp/fastdfs/ngx_cache_purge-master
sudo make && make install
12.3、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改
sudo cp /home/gxdapp/fastdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
13、复制 FastDFS 的部分配置文件到/etc/fdfs 目录
14、在/fastdfs/fdfs0文件存储目录下创建软连接,将其链接到实际存放数据的目录
15.nginx配置
16.其他的节点nginx也进行修改,增加group3.
17、重启各个节点的tracker,storage,nginx等。
18、查询集群状态
可以看到新的group3已经加入集群,这样就扩容成功。
本文暂时没有评论,来添加一个吧(●'◡'●)