zookeeper官網上的文檔說得很清楚。
http://zookeeper.apache.org/doc/r3.5.1-alpha/zookeeperAdmin.html#sc_designing
設置好jdk的環境變量
下載並解壓zookeeper.
zoo.cfg配置,直接復制官網的即可,然后調整datadir和servername即可。
然后執行zkServer.sh start命令。
jps查看進程已經存在。然后zkServer.sh status進行確認,但這個時候問題來了,一直報錯如下:
Error contacting service. It is probably not running.
直接看zookeeper.out中顯示的信息,一直是顯示連接的時候被拒絕。
連接3:192.168.56.103的時候被拒絕 之類的錯誤,
這個錯誤沒有引起我的注意,我以為這是正常的,因為一開始大家都沒有啟動起來,這很正常。
但是進程都起來之后這樣就不正常了,我還是沒有注意這點。
折騰了一晚上的兩個小時,沒有搞定,早上郁悶地把最新版3.5.1下載下來進行嘗試。
居然發現這個新版本報了這個信息:
zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper351/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
這次這個信息引起我的注意,我趕緊查看監聽端口的信息。
netstat -an | grep 2181
這次發現問題了,只有127.0.0.1:2181 ,終於找到問題了。
我趕緊 cat /etc/hosts
發現第一行127.0.0.1 localhost nn1 之類的
好吧 我在zoo.cfg中配置的是 nn1:2888:3888
它去etc/hosts中找的時候,第一行就找到了,就沒有往下找估計。
直接去掉nn1之類的機器名。然后重新啟動zkServer.sh
問題解決。