Zookeeper 启动脚本 & 命令行操作

启动脚本

     当zookeeper服务器部署比较多的时候,我们一个一个的去启动时相当麻烦的,当使用脚本进行全部一起启动或停止时相当高效的。

  • startzk.sh
#!/bin/sh
echo "start zookeeper server..."

hosts="mini05 mini06 mini07"

for host in $hosts
do
  ssh $host  "source /etc/profile; /home/apps/zookeeper-3.4.9/bin/zkServer.sh start"
done

说明:
# export a=1 定义的变量, 会对自己所在的shell进程以及子进程生效(作用域在当前进程以及子进程)
# b=1 定义的变量, 只对自己所在的shell进程生效(作用于在当前进程)
# 在 *.sh 中定义的变量,在当前登陆的shell进程中 source *.sh 时,脚本中定义的变量也会进入当前登陆的进程(作用域在当前的bash进程,即全局)

# 停止zk/查看zk状态 只将 do 语句中的 start 替换为stop/status

Zookeeper 启动脚本 & 命令行操作_第1张图片


命令行操作

  • 启动zk客服端
    zkCli.sh -server mini05 (若直接启动zkCli.sh 是连接的当前操作的zk服务器)

  • help
    Zookeeper 启动脚本 & 命令行操作_第2张图片

  • connect (连接到其他zk服务器)
    [zk: mini05(CONNECTED) 16] connect mini06:2181

  • ls (查看当前 ZooKeeper 中所包含的内容)
    [zk: mini05(CONNECTED) 0] ls /
    [zk: mini05(CONNECTED) 0] ls /app1 watch

  • create (创建一个新的 znode)
    [zk: mini05(CONNECTED) 3] create /app2 “this is app2 znode”

  • get (获取节点)
    [zk: mini05(CONNECTED) 0] get /app2

    [zk: mini05(CONNECTED) 0] get /app2 watch
    监听这个节点的变化,当另外一个客户端改变/app2时,它会打出下面的
    WATCHER::
    WatchedEvent state:SyncConnected type:NodeDataChanged path:/app2

  • set (对 创建的znode 所关联的字符串进行设置)
    [zk: mini05(CONNECTED) 3] set /app2 “app2 running…”

  • delete (删除znode, 类似 rm /app2)
    [zk: mini05(CONNECTED) 6] delete /app2

  • rmr (递归删除节点,类似 rm -rf /app2)
    [zk: mini05(CONNECTED) 14] rmr /app2

你可能感兴趣的:(ZooKeeper)