大資料之zookeeper搭建與使用

一、搭建

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