***關於ZooKeeper(單機版)的下載、安裝、配置、啓動、測試等,請參考另外一篇文章:***CentOS安裝ZooKeepershell
搭建集羣只需在此基礎上增長一些配置,本文也主要介紹這些和集羣相關的配置,其餘步驟再也不贅述vim
假設節點數爲3,ip分別爲:10.20.1.52,10.20.1.53,10.20.1.54
bash
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
複製代碼
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.cfg
中server.1
是一致的工具
第一臺機器配置好之後,直接複製到其餘節點而後稍加修改便可(固然,若是你願意,也能夠按照相同的步驟再重複安裝配置一次,注意修改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
分別啓動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 複製代碼
單機版的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] 複製代碼