В моем кластере HDP я устанавливаю 3 сервера zookeeper-сервера и клиент zookeeper на 3 узлах (master1, master2, master3),
все узлы находятся на redhat версии 7.2
Когдамы запускаем zookeeper-client из master1 на сервере zookeeper на master1, мы получаем CONNECTING
Когда мы запускаем zookeeper-client из master1 на сервере zookeeper на master2, мы получаем CONNECTED
Когда мы запускаем zookeeper-client из master1 на сервере zookeeper на master3, мы получаем CONNECTED
[root@master1 ~]# /usr/hdp/current/zookeeper-client/bin/zookeeper-client -server master1:2181
Connecting to master1:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: master1:2181(CONNECTING) 0] <-- we get CONNECTING instead to get CONNECTED
[root@master1 ~]# /usr/hdp/current/zookeeper-client/bin/zookeeper-client -server master2:2181
Connecting to master2:2181
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: master2:2181(CONNECTED) 0]
[root@master1 ~]# /usr/hdp/current/zookeeper-client/bin/zookeeper-client -server master3:2181
Connecting to master3:2181
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: master3:2181(CONNECTED) 0]
, поэтому проблема только вмашина master1, и фактически клиент не может подключиться к серверу zookeeper на машине - master1
Что может быть причиной этого?
это zoo.cfg на машине master1
more /etc/zookeeper/2.6.4.0-91/0/zoo.cfg
clientPort=2181
syncLimit=15
autopurge.purgeInterval=24
maxClientCnxns=60
dataDir=/var/hadoop/zookeeper
initLimit=30
tickTime=2000
autopurge.snapRetainCount=30
server.1=master1.sys89.com:2888:3888
server.2=master2.sys89.com:2888:3888
server.3=master3.sys89.com:2888:3888
это zookeeper-client на машине master1
cat /usr/hdp/current/zookeeper-client/bin/zookeeper-client
#!/bin/bash
export ZOOKEEPER_HOME=/usr/hdp/2.6.4.0-91//zookeeper
export ZOOKEEPER_CONF=${ZOOKEEPER_HOME}/conf
export CLASSPATH=$CLASSPATH:$ZOOKEEPER_CONF:$ZOOKEEPER_HOME/*:$ZOOKEEPER_HOME/lib/*
export ZOOCFGDIR=${ZOOCFGDIR:-$ZOOKEEPER_CONF}
env CLASSPATH=$CLASSPATH ${ZOOKEEPER_HOME}/bin/zkCli.sh "$@"
мы проверяем порт 2181 и получаем нормальный статус
telnet localhost 2181
Trying ::1
Connected to localhost.
Escape character is '^]'.