一、添加tracker节点
1、新机器安装tracker服务
0)安装需要的依赖包
yum -y install make zlib zlib-devel perl gcc gcc-c++ libtool pcre pcre-devel openssl openssl-devel
1)下载安装libfastcommon
注意 fastdfs的版本包要和libfastcommon版本对应,否则安装fastdfs的时候,make的时候可能会报错如下所示:
[root@prdb1 /data/soft/FastDFS]# ./make.sh
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_proto.o tracker_proto.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_mem.o tracker_mem.c -I../common -I/usr/include/fastcommon
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_service.o tracker_service.c -I../common -I/usr/include/fastcommon
In file included from /usr/include/fastcommon/fast_task_queue.h:19,
from tracker_nio.h:17,
from tracker_service.c:34:
/usr/include/fastcommon/ioevent.h:82:2: error: #error port me
/usr/include/fastcommon/ioevent.h:95:2: error: #error port me
/usr/include/fastcommon/ioevent.h:108:2: error: #error port me
make: *** [tracker_service.o] Error 1
安装包:
2)解压、编译、安装
[root@prdb1 /data/soft]# tar -zxvf libfastcommon-master.tar.gz
[root@prdb1 /data/soft/libfastcommon-master]# cd /data/soft/libfastcommon-master
[root@prdb1 /data/soft/libfastcommon-master]#./make.sh && ./make.sh install
3)、
创建软链接
libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接;
[root@prdb1 /data/soft/libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
4)安装fdfs
解压、编译、安装
tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install
编译、安装,默认安装到/usr/bin下,可以修改make.sh脚本到其他路径,例如/usr/local/bin
5)启动storage和tracker的脚本
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
6) 启动和关闭顺序(注意不要启动呢)
启动顺序:先启动Tracker后启动Storage
先启动Tracker可以确保在Storage服务器启动时,系统已经有一个管理和调度的中心。
否则Tracker服务器未启动会导致的Storage服务器注册失败或文件操作异常;
tracker启动:
/usr/local/bin/start.sh /etc/fdfs/tracker.conf 或者 /etc/init.d/fdfs_tracker start
storage启动:
/usr/local/bin/start.sh /etc/fdfs/storage.conf 或者:/etc/init.d/fdfs_storaged start
或者 /usr/local/bin/fdfs_storaged /etc/fdfs/tracker.conf
关闭顺序:先关闭Storage后关闭Tracker;
storage关闭:
/usr/local/bin/stop.sh /etc/fdfs/storage.conf 或者:/etc/init.d/fdfs_storaged stop
tracker关闭:
/usr/local/bin/stop.sh /etc/fdfs/tracker.conf 或者 /etc/init.d/fdfs_tracker stop
2、新机器安装好tracker软件后,修改/etc/fdfs/tracker.conf
vim /etc/fdfs/tracker.conf
base_path=/data/fastdfs/tracker #按需修改
store_lookup=2 #按需修改
3、启动新机器tracker;
/etc/init.d/fdfs_tracker start
4、修改原有的storage服务的配置
添加上新的tracker配置,因为每个storage需要给所有的tracker通信保持心跳,上报自己的状态。
vim /etc/fdfs/storage.conf
tracker_server=10.2.176.26:22122
tracker_server=10.2.176.96:22122 #新加tracker配置
5、重启原有的storage服务
注意前提是同一个group有至少两个storage,否则重启会影响业务。
/etc/init.d/fdfs_storaged restart
二、同组内添加storage节点
1、准备工作
yum -y install make zlib zlib-devel perl gcc gcc-c++ libtool pcre pcre-devel openssl openssl-devel
2、安装与配置(同前面安装tracker一样的步骤)
安装libfastcommon
安装FastDFS
配置storage.conf (可以把旧的storage配置拷贝过来修改即可)
编辑storage.conf文件,修改以下配置项以匹配现有集群的配置:
vim /etc/fdfs/storage.conf
group_name:设置为要加入的group的名称。
port:设置为storage服务的端口号(通常与现有节点相同)。
http.server_port:设置为提供HTTP访问的端口号(通常与现有节点相同)。
base_path:设置为storage服务的基础路径(用于存放日志文件、.mark文件、binlog等等)。
store_path0:设置为实际存储文件的路径(可以根据实际情况配置多个路径)。
tracker_server:设置为Tracker服务器的IP地址和端口号(可以添加多个Tracker服务器以实现高可用)
3、启动与验证
1)启动storage服务
/usr/local/bin/start.sh /etc/fdfs/tracker.conf 或者 /etc/init.d/fdfs_tracker start
2)查看状态
使用fdfs_monitor命令查看新storage节点的状态,确保它已成功加入集群并处于ACTIVE状态。
fdfs_monitor /etc/fdfs/client.conf
3)数据同步
新加入的storage节点会自动从group内的其他storage节点同步数据。这可能需要一些时间,具体取决于要同步的数据量和网络速度。
可以通过查看storage节点的日志文件来监控数据同步的进度和状态。
[root@prdb1 /data/fastdfs/storage/data/sync]# more 10.2.176.26_23000.mark
binlog_index=0
binlog_offset=112999972
need_sync_old=0
sync_old_done=0
until_timestamp=0
scan_row_count=1915390 #这里表示表示已经同步的文件个数
sync_row_count=0