Zookeeper 在 Centos7 上无法正常启动
Zookeeper doesn't start correctly on Centos7
我在Centos 7上配置了zookeeper。
当我尝试查看状态时,它会抛出下一个:
[ikerlan@server1 ~]$ /opt/zookeeper-3.4.9/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
如果我运行zkServer.sh开始前景
-10-06 10:26:36,550 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address /172.16.8.242:3888
java.net.NoRouteToHostException: No existe ninguna ruta hasta el `host'
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
这是我的 ~/.bashrc:
###JAVA CONFIGURATION###
JAVA_HOME=/usr/java/jdk1.8.0_74/jre/
export PATH=$PATH:$JAVA_HOME/bin
###HADOOP CONFIGURATION###
HADOOP_PREFIX=hadoop/
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
#finHadoop
###ZOOKEEPER###
export PATH=$PATH:/opt/zookeeper-3.4.9/bin
#finZookeper
zoo.cfg:
tickTime=2000
dataDir=/opt/ZooData
clientPort=2181
initLimit=5
syncLimit=2
server.1=172.16.8.241:2888:3888
server.2=172.16.8.242:2888:3888
server.3=172.16.8.243:2888:3888
/opt/ZooData/myid配置
[ikerlan@server1 ~]$ sudo lsof -P -iTCP -sTCP:LISTEN | grep 2181
java 14568 ikerlan 25u IPv6 53119 0t0 TCP *:2181 (LISTEN)
一个进程已经 运行 并且肯定绑定到端口 2181。
检查以下命令:
$ telnet <zookeeper-server-ip> 2181 # Just to know if some process is listening on port 2181
然后您可以通过发出以下命令检查哪个进程正在侦听 2181:
$lsof -P -iTCP -sTCP:LISTEN | grep 2181
解决方案:
我已经在所有集群节点中禁用了防火墙并且它工作正常。
sudo systemctl stop firewalld
我在Centos 7上配置了zookeeper。 当我尝试查看状态时,它会抛出下一个:
[ikerlan@server1 ~]$ /opt/zookeeper-3.4.9/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
如果我运行zkServer.sh开始前景
-10-06 10:26:36,550 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address /172.16.8.242:3888
java.net.NoRouteToHostException: No existe ninguna ruta hasta el `host'
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
这是我的 ~/.bashrc:
###JAVA CONFIGURATION###
JAVA_HOME=/usr/java/jdk1.8.0_74/jre/
export PATH=$PATH:$JAVA_HOME/bin
###HADOOP CONFIGURATION###
HADOOP_PREFIX=hadoop/
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
#finHadoop
###ZOOKEEPER###
export PATH=$PATH:/opt/zookeeper-3.4.9/bin
#finZookeper
zoo.cfg:
tickTime=2000
dataDir=/opt/ZooData
clientPort=2181
initLimit=5
syncLimit=2
server.1=172.16.8.241:2888:3888
server.2=172.16.8.242:2888:3888
server.3=172.16.8.243:2888:3888
/opt/ZooData/myid配置
[ikerlan@server1 ~]$ sudo lsof -P -iTCP -sTCP:LISTEN | grep 2181
java 14568 ikerlan 25u IPv6 53119 0t0 TCP *:2181 (LISTEN)
一个进程已经 运行 并且肯定绑定到端口 2181。 检查以下命令:
$ telnet <zookeeper-server-ip> 2181 # Just to know if some process is listening on port 2181
然后您可以通过发出以下命令检查哪个进程正在侦听 2181:
$lsof -P -iTCP -sTCP:LISTEN | grep 2181
解决方案:
我已经在所有集群节点中禁用了防火墙并且它工作正常。
sudo systemctl stop firewalld