[ FastDFS ] [Error] 无法获取服务器端链接资源

Posted 鱼也

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ FastDFS ] [Error] 无法获取服务器端链接资源相关的知识,希望对你有一定的参考价值。

【Error:无法获取服务器端链接资源】 处理方式

使用单点配置。

在宿主机上通过IDEA测试程序时:

报错:com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can\'t create connection to/192.168.77.130:22122

处理方法:

1. 在虚拟机上判断本机是否能正常上传。

[root@localhost ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg

正常上传时,返回内容为文件id:

group1/M00/00/00/wKhNgl7E09iAPSsrAABslsuRKAU663.jpg

 

 2. 考虑宿主机与虚拟机80端口能否正常通信:

参考资料:https://cloud.tencent.com/developer/article/1495437

参考资料中在宿主机测试能否ping通虚拟机80端口:

telnet 192.168.114.128 80

如果提示 “ telnet 不是内部或外部命令,也不是可运行程序 ” 错误,需要在window控制面板 -> 程序 -> 启用或关闭windows功能 -> 勾选“Telnet客户端”。(参考操作:https://jingyan.baidu.com/article/375c8e19bff04625f3a22961.html

 

3. 修改虚拟机防火墙:

  仅限于防火墙开启的状态进行修改,可以直接跳转至页面最后查看关闭防火墙的方法。

  由于我使用的系统为 CentOS 7, 修改防火墙的方法与第二步参考资料的方法不同,因此单独列出。

  CentOS 7 通过 firewall 控制防火墙。

启动 80 端口:

--zone     #作用域

--add-port=80/tcp    #添加端口,格式为:端口/通讯协议

--permanent     #永久生效,没有此参数重启后失效

[root@localhost ~]#firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙:

[root@localhost ~]#firewall-cmd --reload

查询80端口是否开启:

(如果打开端口后直接查询可能会是no, 因此打开端口后一定要先重启一下防火墙)

[root@localhost ~]# firewall-cmd --query-port=80/tcp

查询开启的端口列表:

[root@localhost ~]#firewall-cmd --list-port

 

总结:

  我这里报错主要就是因为 centOS 7 的防火墙设置有问题。

  一定要打开 80, 22122(tracker service), 23000(storage service)这三个端口。

  打开以后,运行正常,可以返回文件ID。

 

  也可以直接关闭防火墙:

systemctl stop firewalld

 

  通过以下指令可以查看防火墙的开启状态:

  Active:inactive(dead)  说明当前防火墙已经是关闭状态了

systemctl status firewalld

 

  

以上是关于[ FastDFS ] [Error] 无法获取服务器端链接资源的主要内容,如果未能解决你的问题,请参考以下文章

nginx.conf 配置 (反向代理,负载均衡,fastdfs model)

fastdfs集群

FastDFS高可用集群架构配置搭建

分布式文件系统FastDFS如何做到高可用

分布式文件系统FastDFS如何做到高可用

fastdfs 连接无法释放