每次启动zookeeper的时候你是不是得一台主机一台主机的去启动,如果你用上快捷键切换窗口,然后是不是觉得已经启动的够快了。
今天一个同事跟我提了一下要是能用脚本一下子全启动咯,于是我就在自己电脑上试验着写了一下脚本,那就来看看我是怎么用脚本来启动/关闭的吧!
* 启动脚本 *
#! /bin/bash
# This shell script is for starting all the zookeeper nodes in our cluster.
# You can change the IP address to yours,and then it will be your tools.
# @Author signalfeng@gmail.com
# @VERSION 1.0 2016/11/9
# Start zookeeper on master node
hostName=`hostname`
echo -e "\e[1;46mZookeeper start on $hostName...\e[0m\n"
/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh start
echo -e "\n"
sleep 2s
# Start zookeeper on slave1 node
hostName=`ssh 192.168.38.130 'hostname'`
echo -e "\e[1;46mZookeeper start on $hostName...\e[0m\n"
ssh $hostName '/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh start'
echo -e "\n"
sleep 2s
# Start zookeeper on slave2 node
hostName=`ssh 192.168.38.131 'hostname'`
echo -e "\e[1;46mZookeeper start on $hostName...\e[0m\n"
ssh $hostName '/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh start'
exit
脚本运行的时候你可能会觉得画面一跳一跳的,是因为我启动完一台主机之后我让脚本休眠了2秒。脚本的运行结果如下图:
在这个脚本里,我本来想着只改动一下IP地址就可以拿去用了,但是考虑到zookeeper的安装目录各有不同,所以还需要修改的是”zkServer.sh“脚本的目录。由于是远程登录到集群中其他主机来执行启动的命令,而且还需要给出命令的绝对路径,所以我就暂时没有考虑这个地方的适配性。
启动脚本有了,下面是同样原理写的关闭脚本:
#! /bin/bash
# This shell script is for stopping all the zookeeper nodes in our cluster.
# You can change the IP address to yours,and then it will be your tools.
# @Author signalfeng@gmail.com
# @VERSION 1.0 2016/11/9
# Stop zookeeper on master node
hostName=`hostname`
echo -e "\e[1;41mZookeeper stop on $hostName...\e[0m\n"
/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh stop
echo -e "\n"
sleep 2s
# Stop zookeeper on slave1 node
hostName=`ssh 192.168.38.130 'hostname'`
echo -e "\e[1;41mZookeeper stop on $hostName...\e[0m\n"
ssh $hostName '/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh stop'
echo -e "\n"
sleep 2s
# Stop zookeeper on slave2 node
hostName=`ssh 192.168.38.131 'hostname'`
echo -e "\e[1;41mZookeeper stop on $hostName...\e[0m\n"
ssh $hostName '/usr/hadoop/zookeeper-3.4.8/bin/zkServer.sh stop'
exit
基本上没什么变化,就是命令的参数的修改^&^。
这个是暂时的版本一,就先这么用着吧,只要修改IP地址和zookeeper的安装目录就可以拿去用了。
另外,给大家安利一个学习Linux命令的网站,Linux命令大全手册,这个网站挺简约的,而且最重要的是广告少呀^U^。