zookeeper 本地配置多個節點
阿新 • • 發佈:2019-02-01
1. zoo.cfg配置檔案如下:
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. #dataDir=/usr/local/var/run/zookeeper/data dataDir=/Users/userName/Documents/zookeeper/data dataLogDir=/Users/userName/Documents/zookeeper/logs # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=localhost:2881:3881 server.2=localhost:2882:3882 server.3=localhost:2883:3883
2. 複製zoo.cfg檔案命名為zoo2.cfg, 改動dataDir, dataLogDir和clientPort三個引數
dataDir=/Users/userName/Documents/zookeeper/data2
dataLogDir=/Users/userName/Documents/zookeeper/logs2
clientPort=2182
3. 再次複製zoo.cfg檔案命令為zoo3.cfg, 改動dataDir, dataLogDir和clientPort三個引數
dataDir=/Users/userName/Documents/zookeeper/data3 dataLogDir=/Users/userName/Documents/zookeeper/logs3 clientPort=2183
4. 在配置的/Users/userName/Documents/zookeeper/目錄下建立data, data2, data3, logs, logs2, logs3目錄
5. 在data資料夾中建立檔案myid, 內容填1 (和server.1=localhost:2881:3881中的1一致即可)
在data2資料夾中建立檔案myid, 內容填2
在data3資料夾中建立檔案myid, 內容填3
注: myid檔案中的內容和配置中的server.X的X一致即可
6. 啟動三個服務
$ zkServer start zoo.cfg ZooKeeper JMX enabled by default Using config: /usr/local/etc/zookeeper/zoo.cfg Starting zookeeper ... STARTED $ zkServer start zoo2.cfg ZooKeeper JMX enabled by default Using config: /usr/local/etc/zookeeper/zoo2.cfg Starting zookeeper ... STARTED $ zkServer start zoo3.cfg ZooKeeper JMX enabled by default Using config: /usr/local/etc/zookeeper/zoo3.cfg Starting zookeeper ... STARTED
7. 通過zkServer status命令檢視各自的角色
$ zkServer status zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Mode: follower
$ zkServer status zoo2.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo2.cfg
Mode: leader
$ zkServer status zoo3.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo3.cfg
Mode: follower
可看出, 選舉的結果為: server2為leader(master), server1和server3為follower(slave)節點
注意事項:
1. 第4步中的幾個資料夾需要提前建立, 否則可能報錯
2. 注意cfg中的配置(server.1=localhost:2881:3881), localhost別寫錯了, 2881埠別寫成2181了
3. 其他錯誤可參見: https://blog.csdn.net/xiewendong93/article/details/50500471