storage 服务不正常关闭就会出现如下错误:
重启后,端口23000没有开启。
1、解决问题的突破口
查看tracker 服务上的运行日志trackerd.log ,发现:
tail -f -n 100 trackerd.log
查看后发现其他的storage的23000端口是可以连接的,XXXXXX.13没有出现
使用 lsof -i:23000查看状态,发现23000端口没有开启
其他机器上查看23000端口是开启的
注释:23000端口是storage服务的端口,在storage.conf里配置。
2、错误出现的现象
2.1 上传文件是会报错:
[root@master ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test.png
[2019-02-21 14:18:22] ERROR - file: tracker_proto.c, line: 48, server: XXXXXX.10:22122, response status 2 != 0 tracker_query_storage fail, error no: 2, error info: No such file or directory
2.2 在tracker上测试连接其他机器的23000端口,XXXXXX.11上被拒绝,其他机器都是可以连接的
3、解决思路
- 检查网络没有问题,防火墙也关闭了;
- storage的配置文件的storage路径检查看后也没有问题;
- 通过killall fdfs_storaged 停止storage服务后,使用fdfs_storaged /etc/fdfs/storage.conf restart 重启storage服务后,使用ps aux |grep storage查看进程,进程是正常运行的;
感觉没有问题(有隐患),但上传文件还是报此错(tracker_query_storage fail:tracker连接不到storage上);
- 通过 lsof -i:23000 ,查看端口,发现出现问题的storage没有开启此端口(说明storage只启动了线程,没有开启端口);
4、解决问题
使用FastDFS自带的stop.sh脚本停止服务,如:
停止tracker服务,然后重启:
[root@slave102 storage]# /usr/local/bin/stop.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf [root@slave102 storage]# fdfs_trackerd /etc/fdfs/tracker.conf restar
停止storage服务,然后重启:
[root@slave102 storage]# /usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf [root@slave102 storage]# fdfs_storaged /etc/fdfs/storage.conf restart
最后查看lsof -i:23000