编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

生产上fastdfs扩容(fastdfs存储原理)

wxchong 2024-08-19 23:55:07 开源技术 12 ℃ 0 评论

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已经加入集群,这样就扩容成功。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表