HA 集群启动与关闭的顺序请参考:http://blog.csdn.net/u011414200/article/details/50437356
一. 集群介绍
1.1 集群规划
1.2 正确的启动顺序
1. ZooKeeper -> Hadoop -> HBase
2. ZooKeeper -> JournalNode (Hadoop) -> NameNode (Hadoop) -> DataNode (Hadoop) -> 主 ResourceManager/NodeManager (Hadoop) -> 备份 ResourceManager (Hadoop) -> ZKFC (Hadoop) -> MapReduce JobHistory (Hadoop) -> 主 Hmaster/HRegionServer (HBase) ->备份 Hmaster (HBase)
关闭集群的顺序则相反
二. 集群管理脚本
笔者的脚本部署在下面的路径下
/usr/local/cluster/cluster-manager
2.1 Slaves 配置文件
1. 文件名:slaves
2. 功能:记录运行 datanode 、nodemanager、HRegionServer、QuorumPeerMain、JournalNode 的节点 IP 地址或主机名
3. 内容
slave51
slave52
slave53
2.2 ZooKeeper 管理脚本
1. 文件名:zk-manager.sh
2. 功能:启动、关闭与重启 ZooKeeper 集群,并可查看运行 ZK 服务的的模式(leader or follower?)
3. 内容
#!/bin/bash
SLAVES=$(cat slaves)
start_time=`date +%s`
for slave in $SLAVES
do
case $1 in
start) ssh -t $slave "source ~/.bash_profile;zkServer.sh start" 1>/dev/null;;
stop) ssh -t $slave "source ~/.bash_profile;zkServer.sh stop" 1>/dev/null ;;
status) ssh -t $slave "source ~/.bash_profile;zkServer.sh status" ;;
restart)ssh -t $slave "source ~/.bash_profile;zkServer.sh restart" 1>/dev/null;;
*) echo -e "Usage: sh zk-manager.sh {start|stop|restart} ^_^\n" && exit ;;
esac
done
end_time=`date +%s`
elapse_time=$((${end_time}-${start_time}))
echo -e "\n$1 ZooKeeper Server takes ${elapse_time} seconds\n"
2.3 JournalNode 管理脚本
1. 文件名:journal-manager.sh
2. 功能:启动、关闭运行在各个 slaves 上的 JournalNode 进程
3. 内容