目录
- 简介
- 解决方法
- 1.检查指定服务注册中心地址是否正确,是否使用的是默认端口:
- 2.查看Maven上使用的zookeeper版本与实际运行的zookeeper版本不一致:
- 3.CentOS的防火墙是否开启:
- 4.阿里云服务没有开放2181端口:
- 5.还有个解决方法,我还是不太清楚这个配置方法。主要是用在构建zookeeper集群的时候。
- 6.进入阿里云的轻量应用服务器管理控制台,在防火墙项中添加规则,把2181端口加进去:
简介
最近为了方便一些组件的使用,所以在阿里云买了云服务器。由于是新接触云服务器,所以在使用Zookeeper的时候遇到一些问题,由于我是将Zookeeper安装在阿里云服务器上,然后通过外网IP去获取Zookeeper的服务。
但是在使用过程中,IDEA一直连不上Zookeeper服务,导致我的项目的Dubbo也使用不了。遇到问题当然是马上在网上寻找答案,所以花了好久才解决,网上的各种方法都试过,所以在这里总结一下:
解决方法
首先就要排除是代码本身有错误,这个因人而异。
<dubbo:registry address="zookeeper://阿里云服务器IP:2181"/>
比如说Maven上使用的zookeeper版本是3.4.x,而服务器上运行的zookeeper版本是3.5.x
查看防火墙状态
service iptables status
关闭防火墙
service iptables stop
操作后要重启防火墙
service iptables restart
由于为了安全性,刚购买的服务器开放的端口是很少的。
具体操作如下:
(1)进入云服务器管理控制台,并在点击 网络与安全 栏下的 安全组。
(2)若安全组下的配置空空如也,那就要进行创建安全组了。
注:对于授权对象这一项,0.0.0.0/0或者掩码为0,代表允许或拒绝所有IP的访问。
(3)添加安全组后重启服务器
修改zookeeper配置参数
在每一个zookeeper节点下的zoo.cfg配置文件中加入参数quorumListenOnAllIPs=true
然后再重启zookeeper,就可以正常连接了quorumListenOnAllIPs:默认为false,如果设为true,zk服务器会监听所有可达IP上的连接。
记得添加后重启服务器
最后,为了解决zookeeper服务的连接,几乎网上的方法都试过一遍,最后到第6种方法才适用,花了半天的时间才解决,所以将自己踩过的坑分享出来,供想使用阿里云服务器作为服务提供方的小伙伴参考。
如果你觉得这篇文章对你有帮助,点亮下面的图标支持一下。。