一、搭建
1、本地模式
1、解壓
tar -zxvf zookeeper-3。5。7。tar。gz -C /opt/module/
2、配置修改
將/opt/module/zookeeper-3。5。7/conf這個路徑下的zoo_sample。cfg修改為zoo。cfg;cp zoo_sample。cfg zoo。cfg開啟zoo。cfg檔案,修改dataDir路徑:vim zoo。cfg修改如下內容:dataDir=/opt/module/zookeeper-3。5。7/zkData在/opt/module/zookeeper-3。5。7/這個目錄上建立zkData資料夾mkdir zkData
3、啟動zk
bin/zkServer。sh startjps4020 Jps4001 QuorumPeerMain
4、檢視zk的狀態
bin/zkServer。sh statusZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3。5。7/bin/。。/conf/zoo。cfgMode: standalone
5、啟動客戶端
bin/zkCli。sh
6、退出客戶端
quit
7、停止zk
bin/zkServer。sh stop
2、分散式安裝部署(重點)
1、解壓
tar -zxvf zookeeper-3。5。7。tar。gz -C /opt/module/
2、分發bigdata1和bigdata2
xsync zookeeper-3。5。7/
3、配置伺服器編號
在/opt/module/zookeeper-3。5。7/這個目錄下建立zkData
mkdir -p zkData
在/opt/module/zookeeper-3。5。7/zkData目錄下建立一個myid的檔案 touch myid 在檔案中新增與server對應的編號: vi myid 1
複製配置好的zookeeper到其他機器上
xsync myid並分別在bigdata1、bigdata2上修改myid檔案中內容為2、3
4、配置zoo。cfg檔案
cp zoo_sample。cfg zoo。cfg
vim zoo。cfg修改資料儲存路徑配置dataDir=/opt/module/zookeeper-3。5。7/zkData增加如下配置#######################cluster##########################server。2=bigdata:2888:3888server。3=bigdata1:2888:3888server。4=bigdata2:2888:3888
5、同步zoo。cfg
xsync zoo。cfg
6、叢集操作
1、啟動zk
在bigdata,bigdata1,bigdata2啟動bin/zkServer。sh start
bin/zkServer。sh status
2、啟動客戶端
bin/zkCli。sh
1、命令
helplsls -s
分別建立2個普通節點 create /sanguo “diaochan” create /sanguo/shuguo “liubei”
獲得節點的值 get /sanguo get -s /sanguo get -s /sanguo/shuguo
建立臨時節點 create -e /sanguo/wuguo “zhouyu”Created /sanguo/wuguols /sanguo [wuguo, shuguo]
建立帶序號的節點 create /sanguo/weiguo “caocao”Created /sanguo/weiguo[zk: localhost:2181(CONNECTED) 2] create /sanguo/weiguo “caocao”Node already exists: /sanguo/weiguo[zk: localhost:2181(CONNECTED) 3] create -s /sanguo/weiguo “caocao”Created /sanguo/weiguo0000000000[zk: localhost:2181(CONNECTED) 4] create -s /sanguo/weiguo “caocao”Created /sanguo/weiguo0000000001[zk: localhost:2181(CONNECTED) 5] create -s /sanguo/weiguo “caocao”Created /sanguo/weiguo0000000002[zk: localhost:2181(CONNECTED) 6] ls /sanguo[shuguo, weiguo, weiguo0000000000, weiguo0000000001, weiguo0000000002, wuguo][zk: localhost:2181(CONNECTED) 6]
7、指令碼編寫
vim /home/bigdata/bin/myzookeeperservices。sh
#!/bin/bashif [ $# -lt 1 ]then echo “No Args Input。。。” exit ;ficase $1 in“start”) echo “ =================== 啟動 zk叢集 ===================” echo “ ————————- 啟動 zkServer ————————-” ssh bigdata “/opt/module/zookeeper-3。5。7/bin/zkServer。sh start” ssh bigdata1 “/opt/module/zookeeper-3。5。7/bin/zkServer。sh start” ssh bigdata2 “/opt/module/zookeeper-3。5。7/bin/zkServer。sh start”;;“stop”) echo “ =================== 關閉 zk叢集 ===================” echo “ ————————- 關閉 zkServer ————————-” ssh bigdata “/opt/module/zookeeper-3。5。7/bin/zkServer。sh stop” ssh bigdata1 “/opt/module/zookeeper-3。5。7/bin/zkServer。sh stop” ssh bigdata2 “/opt/module/zookeeper-3。5。7/bin/zkServer。sh stop”;;*) echo “Input Args Error。。。”;;esac
chmod +x /home/bigdata/bin/myzookeeperservices。sh