zookeeper3.4.8安裝和叢集搭建
阿新 • • 發佈:2018-11-06
1.環境準備
建立zookeeper使用者.
準備安裝包: zookeeper-3.4.8.tar.gz.
拷貝至安裝目錄並解壓
tar zxvf zookeeper-3.3.6.tar.gz
mv zookeeper-3.3.6 zookeeper
2.配置檔案
- zookeeper/conf/zoo.cfg(需手動建立)
#zookeeper使用的基本時間單位(ms) tickTime=2000 #leader和follow之間的最長心跳時間(ticktime的倍數) initLimit=5 #leader和follower之間的訊息交換的最長時間(ticktime的倍數) syncLimit=2 #資料目錄 dataDir=/home/zookeeper/zookeeper/data #日誌目錄,該目錄事先建立,否則無法啟動 dataLogDir=/home/zookeeper/zookeeper/logs #服務埠 clientPort=2181 #server0...分別對應叢集中的各臺,ip:資料交換埠:leader選舉埠 server.0=192.168.163.101:8880:7770 server.1=192.168.163.102:8880:7770 server.2=192.168.163.103:8880:7770
- zookeeper/data/myid(需手動建立)
#唯一標識
0
拷貝至其他節點,此檔案對應修改.
- .bashrc
export ZOOKEEPER_HOME=/home/zookeeper/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$PATH
source .bashrc
3.啟動
各節分別執行啟動
zkServer.sh start
注意: 啟動第一個節點時,由於其他兩個節點未啟動,所以會報錯,不用管.
java.net.ConnectException: 拒絕連線
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:426)
at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:843)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:822)
2018-05-16 19:40:26,103 [myid:0] - INFO [QuorumPeer[myid=0]/0:0:0:0:0:0:0:0:2181: [email protected]] - Resolved hostname: 192.168.163.103 to address: /192.168.163.103
2018-05-16 19:40:26,104 [myid:0] - WARN [QuorumPeer[myid=0]/0:0:0:0:0:0:0:0:2181:[email protected]] - Cannot open channel to 1 at election address /192.168.163.102:7770
4.測試
- jps檢視程序
QuorumPeerMain
- 檢視節點狀態
./zkServer.sh status
- 啟動客戶端
./zkCli.sh -server localhost:2181
- 建立節點
create /zk 'test'
get /zk
quit