前提条件
三台centos7的主机
hadoop集群搭建完毕
下载完拖到对应的目录下
#解压
sudo tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/
#修改名称
sudo mv apache-zookeeper-3.7.1-bin zookeeper-3.7.1
#修改权限组
suod chown -R bill:freedom zookeeper-3.7.1
#到conf目录下修改zoo_sample.cfg为zoo.cfg
mv zoo_sample. cfg zoo.cfg
vi zoo.cfg
#修改配置
#下面文件目录可以自定义
dataDir=/mnt/data01/zk_data
#然后通过分发脚本在对应的另外两台主机上也部署zookeeper
sudo xsync /usr/local/zookeeper-3.7.1
sudo xsync chown -R bill:freedom /usr/local/zookeeper-3.7.1
xsync /mnt/data01/zk_data
#配置集群
cd /mnt/data01/zk_data
vi myid
#在里面第一行写上本主机的id
#分发脚本
xsync ../
#不同的主机id不一样,需要逐个修改,我这里设置的id为0,1,2
vi /usr/local/zookeeper-3.7.1/conf/zoo.cfg
#在末尾添加上这几行
server.0=billsaifu:2888:3888
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888xsync /usr/local/zookeeper-3.7.1/conf/zoo.cfg
最后重新配置一下hadoop的启动脚本
vi /home/bill/bin/myhadoop.sh
#改为下面
if [ $# -lt 1 ]; then
echo "No Args Input..."
exit
fi
case $1 in
"start")
echo " =================== 启动 hadoop 集群 ==================="
echo " --------------- 启动 hdfs ---------------"
ssh billsaifu "/usr/local/hadoop-3.3.5/sbin/start-dfs.sh"
echo " --------------- 启动 yarn ---------------"
ssh hadoop1 "/usr/local/hadoop-3.3.5/sbin/start-yarn.sh"
echo " --------------- 启动 historyserver ---------------"
ssh billsaifu "/usr/local/hadoop-3.3.5/bin/mapred --daemon start historyserver"
echo " =================== 启动 zookeeper 集群 ==================="
echo " --------------- 启动 zookeeper0 ---------------"
ssh billsaifu "/usr/local/zookeeper-3.7.1/bin/zkServer.sh start"
echo " --------------- 启动 zookeeper1 ---------------"
ssh hadoop1 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh start"
echo " --------------- 启动 zookeeper2 ---------------"
ssh hadoop2 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh start"
;;
"stop")
echo " =================== 关闭 zookeeper 集群 ==================="
echo " --------------- 关闭 zookeeper0 ---------------"
ssh billsaifu "/usr/local/zookeeper-3.7.1/bin/zkServer.sh stop"
echo " --------------- 关闭 zookeeper1 ---------------"
ssh hadoop1 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh stop"
echo " --------------- 关闭 zookeeper2 ---------------"
ssh hadoop2 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh stop"
echo " =================== 关闭 hadoop 集群 ==================="
echo " --------------- 关闭 historyserver ---------------"
ssh billsaifu "/usr/local/hadoop-3.3.5/bin/mapred --daemon stop historyserver"
echo " --------------- 关闭 yarn ---------------"
ssh hadoop1 "/usr/local/hadoop-3.3.5/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs ---------------"
ssh billsaifu "/usr/local/hadoop-3.3.5/sbin/stop-dfs.sh"
;;
"status")
echo " =================== zookeeper 集群状态 ==================="
echo " --------------- zookeeper0 ---------------"
ssh billsaifu "/usr/local/zookeeper-3.7.1/bin/zkServer.sh status"
echo " --------------- zookeeper1 ---------------"
ssh hadoop1 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh status"
echo " --------------- zookeeper2 ---------------"
ssh hadoop2 "/usr/local/zookeeper-3.7.1/bin/zkServer.sh status"
;;
*)
echo "Input Args Error..."
;;
esac
下面启动配置
查看状态
分发脚本之前的hadoop配置里面有