CentOS安裝ZooKeeper集羣

***關於ZooKeeper(單機版)的下載、安裝、配置、啓動、測試等,請參考另外一篇文章:***CentOS安裝ZooKeepershell

搭建集羣只需在此基礎上增長一些配置,本文也主要介紹這些和集羣相關的配置,其餘步驟再也不贅述vim

假設節點數爲3,ip分別爲:10.20.1.52,10.20.1.53,10.20.1.54bash

1、配置

一、先安裝並配置其中一臺機器(10.20.1.52):
修改zoo.cfg
shell> cd /usr/local/zookeeper-3.5.3-beta/conf
shell> cp zoo_sample.cfg zoo.cfg
shell> vim zoo.cfg
複製代碼

末尾增長如下集羣相關配置markdown

server.1=10.20.1.52:2888:3888
server.2=10.20.1.53:2888:3888
server.3=10.20.1.54:2888:3888
複製代碼
增長myid文件
shell> mkdir /usr/local/zookeeper-3.5.3-beta/data
shell> echo 1 > /usr/local/zookeeper-3.5.3-beta/data/myid	#10.20.1.52
複製代碼

這裏echo 1的數字」1「與zoo.cfgserver.1是一致的工具

二、複製到其餘節點(10.20.1.53,10.20.1.54)

第一臺機器配置好之後,直接複製到其餘節點而後稍加修改便可(固然,若是你願意,也能夠按照相同的步驟再重複安裝配置一次,注意修改myid文件的內容便可)post

shell> scp -r /usr/local/zookeeper-3.5.3-beta root@10.20.1.53:/usr/local/
shell> scp -r /usr/local/zookeeper-3.5.3-beta root@10.20.1.54:/usr/local/
複製代碼

而後分別修改其餘兩臺機器上的myid文件測試

shell> echo 2 > /usr/local/zookeeper-3.5.3-beta/data/myid	#10.20.1.53
shell> echo 3 > /usr/local/zookeeper-3.5.3-beta/data/myid	#10.20.1.55
複製代碼
三、關閉防火牆

CentOS 6:spa

shell> service iptables stop
shell> chkconfig iptables off
複製代碼

CentOS 7:code

shell> systemctl stop firewalld
shell> systemctl disable firewalld
複製代碼

更多防火牆設置(不想簡單粗暴的關閉防火牆,只開啓指定端口的訪問),請參考:CentOS防火牆設置orm

2、啓動

分別啓動3個ZooKeeper節點

shell> cd /usr/local/zookeeper-3.5.3-beta/
shell> bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
複製代碼

3、測試

一、查看啓動狀態

單機版的Mode: standalone不一樣,集羣的Mode會顯示爲leader(主節點)或follower(從節點),默認集羣中的第一個節點爲leader

# 10.20.1.52
shell> bin/zkServer.sh status                                      
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
複製代碼
# 10.20.1.53
shell> bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
複製代碼
# 10.20.1.54
shell> bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
複製代碼
二、測試節點(或數據)同步

在其中一臺機器(10.20.1.52)上建立節點,查看其餘機器(10.20.1.53)上節點是否同步

shell> cd /usr/local/zookeeper-3.5.3-beta/
# 使用zkCli工具鏈接本機ZooKeeper,默認2181端口
shell> bin/zkCli.sh
# 查看節點,默認只有一個[zookeeper]
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
# 建立測試節點
[zk: localhost:2181(CONNECTED) 1] create /test
Created /test
# 再次查看,多了一個test節點
[zk: localhost:2181(CONNECTED) 2] ls /
[test, zookeeper]
# 使用connect鏈接其餘機器(也能夠直接經過zkCli.sh -server 10.20.1.53:2181鏈接)
[zk: localhost:2181(CONNECTED) 3] connect 10.20.1.53
# 看到test節點已經同步
[zk: 10.20.1.53(CONNECTED) 4] ls /
[test, zookeeper]
複製代碼
相關文章
相關標籤/搜索