前言
java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
在这里说明下,因为我本人用的是阿里云的服务器,在网上找了半天都是端口号问题或者是防火墙的问题,但是我那些都开了,搞了半天错误一直存在,最后去看了看视频,发现docker启动zookeeper的时候需要向外暴露一个端口,外部才可以进行访问
(不要喷,刚开始学习不太懂,以后会注意的,越来越强的)
只需要运行下面的命令启动zookeeper就可以访问了
docker run -p 2181:2181 -d “docker容器内的名字”
一些关于端口的操作命令(可忽略)
先查看防火墙状态是否开启
systemctl status firewalld
打开防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
开放防火墙端口2181
firewall-cmd --zone=public --add-port=
2181/tcp --permanent
查看防火墙某个端口是否开放
firewall-cmd --query-port=80/tcp
关闭80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
配置立即生效
firewall-cmd --reload
开放一段端口
firewall-cmd --zone=public --add-port=8121-8124/tcp --permanent
查看开放的端口列表
firewall-cmd --zone=public --list-ports