zookeeper的安裝和配置
http://coolxing.iteye.com/blog/1871009
http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html
用vmware建立三台虛拟機,都是centOS系統。
安裝的時候,記得選上gnome desktop,還有後面的development tools。
裝好後,java -version看到
說明已經配好了java環境。
然後上官網下載下傳zookeeper包,放到centos裡,直接解壓就行,把解壓的檔案夾放到home檔案夾裡即可。
Zookeeper根目錄裡有conf檔案夾,進去建立zoo.cfg。注意,每台虛拟機都要放一個zookeeper目錄,然後建立zoo.cfg。内容一樣。
隻是我第一台虛拟機的zoo.cfg的dataDir是/home/gyc/zookeeper-***/data
第二台虛拟機我使用者名是gyc2,不一樣,是以dataDir應該是/home/gyc2/zookeeper-***/data
zoo.cfg
内容大概為
tickTime=2000
dataDir=/var/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
然後在dataDir指定的目錄裡建立myid檔案。比如你要把目前機器作為server.3,那麼myid裡存一個3就行。
然後配置網絡,每個虛拟機設定自己的靜态IP。對應着配置檔案裡的那幾個ip。
至于設定靜态ip,網上查了好多關于centos設定ip的方法。我都試了,發現沒有eth0。然後找為什麼沒有eth0,怎麼加一個eth0。反正我是沒有成功。
後來我自己發現,在設定-network裡,有個add profile。然後我添加了,加上配置檔案中對應的IP,子網路遮罩,網關。發現能ping通。
注意:虛拟機配置自己的靜态IP,需要看
取消使用本地DHCP服務将IP位址配置設定給虛拟機。
然後點NAT設定
看清自己的網關IP
Zoo.cfg裡三台虛拟機的ip,前9位要和網關的相同,後三位自己填就行。
Ip配置好了之後,在zookeeper根目錄的bin檔案夾裡,有zkServer.sh
./zkServer.sh start開啟zookeeper。然後./zkServer.sh status出現
ZooKeeper JMX enabled by default
Using config:/home/gyc/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probablynot running.
說明沒調好,然後去bin檔案夾下的zookeeper.out裡看錯誤日志,一目了然。
我是出現了這種問題
2017-02-26 19:36:55,077 [myid:1] -WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:[email protected]] - Unexpectedexception, tries=3, connecting to /192.168.116.48:2888
java.net.NoRouteToHostException: No routeto host
是因為centos防火牆沒有開通21812888 3888端口
firewall-cmd --zone=public--add-port=3888/udp --add-port=3888/tcp –permanent
用這個指令。執行三次。
然後firewall0cmd –reload即可。
每台虛拟機都要開通這三個端口。
然後就可以了。