1. 程式人生 > >用shell腳本查看zookeeper集群狀態

用shell腳本查看zookeeper集群狀態

zopper shell

zooper集群結構:
主機名 角色
node1 follower
node2 leader
node3 follower
master observer
腳本內容:
#!/bin/bash
function getstatus(){
#定義一個函數
exec 9<>/dev/tcp/$1/2181 2>/dev/null
#打開host的port 可讀寫的socket連接,與文件描述符9連接
echo stat >&9
#將“stat”發送給socket連接
MODE=$(cat <&9 |grep -Po "(?<=Mode:).")
#從socket返回數據中提取Mode的值,並賦值給MODE
exec 9<&- #關閉通道
echo ${MODE:-NULL}
#輸出MODE*
}
for i in node{1..3} nn01;do
echo -ne "${i}\t"

  • #輸出i,不換行並執行tab鍵打一個空格
    getstatus ${i}
    #執行函數 getstatus並給位置變量賦值 *
    done

腳本執行結果:
node1 follower
node2 leader
node3 follower
master observer

用shell腳本查看zookeeper集群狀態