fastdfs集群部署

fastdfs集群部署

参考链接:https://www.cnblogs.com/penngke/p/15396701.html
部署架构如下:

fastdfs集群部署

部署规划

2台主机,数据存储节点共1个group组,每个组里面有2个storage节点互为主备,这样就能保证一定高可用。角色分配如下:

ps:之前准备利用3台服务器分三组多实例部署,fastdfs不支持同角色多实例部署。

ip地址 角色1 角色2 192.168.0.77 Tracker1 Storage-group1-1 192.168.0.89 Tracker2 Storage-group1-2

数据路径:/data/fastdfs/

安装步骤

  1. 2台主机上分别先安装依赖 yum install make cmake gcc gcc-c++ -y
  2. 下载fastdfs软件包: 依赖包libfastcommon链接:https://github.com/happyfish100/libfastcommon/releases FastDFS包链接:https://github.com/happyfish100/fastdfs/releases 下载命令: wget https://codeload.github.com/happyfish100/libfastcommon/tar.gz/refs/tags/V1.0.53 -O /opt/libfastcommon-1.0.53.tar.gz wget https://codeload.github.com/happyfish100/fastdfs/tar.gz/refs/tags/V6.07 -O /opt/fastdfs-6.07.tar.gz
  3. 安装libfastcommon
cd /opt
tar -zxvf libfastcommon-1.0.53.tar.gz
cd libfastcommon-1.0.53/
./make.sh
./make.sh install

等待安装完成。
4. 安装fastdfs

cd /opt
tar -zxvf fastdfs-6.07.tar.gz
cd fastdfs-6.07/
./make.sh
./make.sh install

等待安装完成
5. 配置2台主机上的trcker服务

#1. 复制配置文件
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
vim tracker.conf

#修改如下内容:
配置文件是否不生效,false 为生效
disabled=false
提供服务的端口
port=22122
Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
base_path=/data/fastdfs/tracker
HTTP 服务端口 默认8080 ,
http.server_port=8080 #这端口没什么用,4以上版本已经不在启动网络服务了

bind_addr = 192.168.0.77  #2台独自改为自己ip

创建tracker的数据和日志目录: mkdir -p /data/fastdfs/tracker
6. 启动2台的tracker服务

service fdfs_trackerd start
/sbin/chkconfig fdfs_trackerd on

检查端口22122是否存在: netstat -tunlp | grep 22122
7. 配置2台主机上storage服务

#1. 复制配置文件
cd /etc/fdfs/
cp storage.conf.sample storage.conf
vim storage.conf

#修改以下内容
Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)  (注 :这里不是上传的文件存放的地址,之前版本是的,在某个版本后更改了)
base_path=/data/fastdfs/storage

逐一配置 store_path_count 个路径,索引号基于 0。
如果不配置 store_path0,那它就和 base_path 对应的路径一样。
store_path0=/data/fastdfs/storage_data/

group_name = group1 #由于我只有1个组,只需配置一个,storage配置相同的group_name则代表同一组,互相互为主备。

tracker_server 的列表 ,会主动连接 tracker_server
有多个 tracker server 时,每个 tracker server 写一行
tracker_server = 192.168.0.77:22122
tracker_server = 192.168.0.89:22122

访问端口 默认80  建议修改 防止冲突
http.server_port=80 #这端口没什么用,4以上版本已经不在启动网络服务了

bind_addr = 192.168.0.77  #2台独自改为自己ip

创建日志目录: mkdir -p /data/fastdfs/storage
创建数据目录: mkdir -p /data/fastdfs/storage_data/
8. 启动2台主机上的storage服务

service fdfs_storaged start
systemctl start fdfs_storaged  #centos7 推荐

systemctl enable fdfs_storaged #设置开机启动
/sbin/chkconfig fdfs_storaged on #设置开机启动

检查端口23000是否存在: netstat -tunlp | grep 23000
9. 集群检测

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

输出的结果看到存储节点状态为 ACTIVE 则表示已生效。

    Storage 1:
        id = 192.168.0.77
        ip_addr = 192.168.0.77  ACTIVE
        http domain =
        version = 6.07
        ...其他信息已省略...
    Storage 2:
        id = 192.168.0.89
        ip_addr = 192.168.0.89  ACTIVE
        http domain =
        version = 6.07
        ...其他信息已省略...

  1. 配置文件上传测试 配置客户端的配置
cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf
#修改一下配置,其他默认

Client 的数据和日志目录
base_path=/data/fastdfs/client
Tracker端口
tracker_server=192.168.0.77:22122
tracker_server=192.168.0.89:22122

创建client的日志目录: mkdir -p /data/fastdfs/client 分别在2台客户端上传一个文件试试:

cd /tmp
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/peng-test1.png
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/peng-test2.png
#返回文件ID号说明集群搭建成功
[root@ecs-192_168_0_89 tmp]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/peng2.png
group1/M00/00/00/wKgATWFk85SARmKvAAA7rh9qvEI417.png  #成功
  1. 最后 最后fastdfs集群搭建完成。客户端或者研发可以任意选择一个fastdfs的节点连接。

遇到的错误

  1. libfastcommon编译错误
[root@ecs-192_168_0_77 libfastcommon-1.0.53]# ./make.sh
gcc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o hash.o hash.c
In file included from /usr/include/errno.h:35:0,
                 from hash.c:19:
/usr/include/bits/errno.h:24:26: fatal error: linux/errno.h: No such file or directory
 # include
                          ^
compilation terminated.

make: *** [hash.o] Error 1

解决: yum install kernel-headers -y

Original: https://www.cnblogs.com/penngke/p/15396720.html
Author: penngke
Title: fastdfs集群部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586018/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球