Linux下安裝Zookeeper單機僞集羣

前提:已安裝JDK環境

Zookeeper下載

鏈接:https://pan.baidu.com/s/1BRw6cZpe949UpTqQZ7QX7A

提取碼:tdjs

解壓

> tar -xf apache-zookeeper-3.6.1-bin.tar.gz

修改配置文件

> cd conf
> cp zoo_sample.cfg zoo.cfg

修改參數

dataDir=/owl/data/zookeeper-3.6.1/2180
dataLogDir=/owl/data/zookeeper-3.6.1/2180/log
logDir=/owl/log/zookeeper-3.6.1/2180
admin.enableServer=false

# 集羣配置 IP:follower和leader交換消息所使用的端口:選舉leader所使用的端口
server.1=0.0.0.0:2887:3887
server.2=0.0.0.0:2888:3888
server.3=0.0.0.0:2889:3889

複製2份,修改zoo.cfg

dataDir=/owl/data/zookeeper-3.6.1/2181
dataLogDir=/owl/data/zookeeper-3.6.1/2181/log
logDir=/owl/log/zookeeper-3.6.1/2181
admin.enableServer=false

# 集羣配置 IP:follower和leader交換消息所使用的端口:選舉leader所使用的端口
server.1=0.0.0.0:2887:3887
server.2=0.0.0.0:2888:3888
server.3=0.0.0.0:2889:3889
dataDir=/owl/data/zookeeper-3.6.1/2182
dataLogDir=/owl/data/zookeeper-3.6.1/2182/log
logDir=/owl/log/zookeeper-3.6.1/2182
admin.enableServer=false

# 集羣配置 server.節點標識=IP:follower和leader交換消息所使用的端口:選舉leader所使用的端口
server.1=0.0.0.0:2887:3887
server.2=0.0.0.0:2888:3888
server.3=0.0.0.0:2889:3889

標識節點

在dataDir目錄下新建myid,並寫入節點ID

> echo 1>/owl/data/zookeeper-3.6.1/2180/myid
> echo 2>/owl/data/zookeeper-3.6.1/2181/myid
> echo 3>/owl/data/zookeeper-3.6.1/2182/myid

建立啓停腳本

# start_2180.sh 單節點啓動
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkServer.sh start

# start_2181.sh 單節點啓動
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkServer.sh start

# start_2182.sh 單節點啓動
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkServer.sh start

# stop_2180.sh 單節點關閉
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkServer.sh stop

# stop_2181.sh 單節點關閉
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkServer.sh stop

# stop_2182.sh 單節點關閉
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkServer.sh stop


# start_cluster.sh 集羣啓動
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkServer.sh start
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkServer.sh start
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkServer.sh start

# stop_cluster.sh 集羣關閉
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkServer.sh stop
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkServer.sh stop
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkServer.sh stop

# status_cluster.sh 集羣各節點狀態查看
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkServer.sh status
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkServer.sh status
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkServer.sh status

# conn_2180.sh 連接單節點
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkCli.sh -server *.*.*.*:2180

# conn_2181.sh 連接單節點
cd /owl/soft/zookeeper-3.6.1/2181/bin
./zkCli.sh -server *.*.*.*:2181

# conn_2182.sh 連接單節點
cd /owl/soft/zookeeper-3.6.1/2182/bin
./zkCli.sh -server *.*.*.*:2182

# conn_cluster.sh 連接集羣
cd /owl/soft/zookeeper-3.6.1/2180/bin
./zkCli.sh -server *.*.*.*:2180,*.*.*.*:2181,*.*.*.*:2182

啓動Zookeeper集羣

> ./start_cluster.sh

/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2180/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2181/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2182/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看各節點狀態

> ./status_cluster.sh

/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2180/bin/../conf/zoo.cfg
Client port found: 2180. Client address: localhost.
Mode: follower
/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2181/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
/owl/soft/jdk-1.8.0/bin/java
ZooKeeper JMX enabled by default
Using config: /owl/soft/zookeeper-3.6.1/2182/bin/../conf/zoo.cfg
Client port found: 2182. Client address: localhost.
Mode: follower

測試集羣

2180節點創建test節點

> ./conn_2180.sh

[zk: ****:2180(CONNECTED) 0] create /test Hello,zookeeper!
Created /test
[zk: ****:2180(CONNECTED) 0] get /test
Hello,zookeeper!

2181節點下查看是否同步成功

> ./conn_2181.sh

[zk: ****:2181(CONNECTED) 0] get /test
Hello,zookeeper!

安裝可視化工具

IDEA插件

在這裏插入圖片描述

ZKUI工具

下載ZKUI源碼

> git clone [email protected]:DeemOpen/zkui.git

配置連接參數config.cfg

serverPort=9090

zkServer=0.0.0.0:2180,0.0.0.0:2181,0.0.0.0:2182

userSet = {"users": [{ "username":"admin" , "password":"manager","role": "ADMIN" },{ "username":"appconfig" , "password":"appconfig","role": "USER" }]}

Maven打包

> mvn clean install

部署啓動

zkui-2.0-SNAPSHOT-jar-with-dependencies和config.cfg放同級目錄

> nohup java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar &

使用admin賬號登錄查看

默認密碼爲manager

在這裏插入圖片描述

zookeeper命令

    create /path data      創建一個名爲/path的zNode節點,幷包含數據data

  delete /path          刪除名爲/path的zNode節點

  exists /path           檢查是否存在名爲/path的zNode節點

  setData /path data        設置名爲/path的zNode的數據爲data

  getData  /path         返回名爲/path的zNode節點的數據信息

  getChildren /path      返回所有/path節點的所有子節點列表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章