目录
安装包 apache-zookeeper-3.5.7-bin.tar.gz下载:清华大学镜像仓库Index of /dist/zookeeper/zookeeper-3.5.7 (apache.org)http://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/
在配置之前要保证主从节点都已经配置好了免密登录,详情可参考:http://t.csdnimg.cn/ITDQu
一. zookeeper集群规划
192.168.43.110 HadoopMaster
192.168.43.111 HadoopSlave1
192.168.43.112 HadoopSlave2
二. zookeeper配置
1. 解压:tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
2. 解压后重命名:mv apache-zookeeper-3.5.7-bin zookeeper
3. 在主节点HadoopMaster的目录/home/zxa/software/zookeeper下,创建一个目录zkdata
4. 目录 /home/zxa/software/zookeeper/zkdata下创建一个文件myid,并写入数字 1
echo 1 > /home/zxa/software/zookeeper/zkdata/myid
5. 配置zoo.cfg文件
切换目录至 zookeeper下的conf 下,复制 zoo_sample.cfg 为 zoo.cfg
cp zoo_sample.cfg zoo.cfg
编辑zoo_cfg 内容
在HadoopMaster中的/home/zxa/software/zookeeper/zkdata创建的myid里面的数字就对应这里的server后面的数字 1,等号后面的主机名HadoopMaster也可以写成IP地址 192.168.43.110
6. 配置环境变量
使用命令vim ~/.bash_profile编辑内容以配置环境变量,配完以后一定要source使其生效
7. 配置从节点
配置好的zookeeper 远程复制到从节点HadoopSlave1
scp -r /home/zxa/software/zookeeper zxa@HadoopSlave1:/home/zxa/software
配置好的zookeeper 远程复制到从节点HadoopSlave2
scp -r /home/zxa/software/zookeeper zxa@HadoopSlave2:/home/zxa/software
8. 修改从节点的myid中的数字
#HadoopSlave1中
echo 2 > /home/zxa/software/zookeeper/zkdata/myid
#HadoopSlave2中
echo 3 > /home/zxa/software/zookeeper/zkdata/myid
三. zookeeper启动
启动命令:zkServer.sh start
在每一个节点都需要执行
四. 一键启动脚本的编写
每一个节点都要去启动比较麻烦,我们可以编写一个脚本,在HadoopMaster上就可以连同两台从节点一起启动。
#HadoopMaster HadoopSlave1 HadoopSlave2 修改为自己的主机名
#启动命令:zkServer.sh start
#关闭命令:zkServer.sh stop
#查看状态:zkServer.sh status
#配置环境变量的文件:~/.bash_profile
#创建脚本文件
vim zkp
#文件zkp内容
#!/bin/bash
for host in HadoopMaster HadoopSlave1 HadoopSlave2
do
case $1 in
"start"){
echo " "
echo "--------------- 启 动 zookeeper ---------------"
echo "------------ $host zookeeper -----------"
ssh $host "source ~/.bash_profile; zkServer.sh start"
};;
"stop"){
echo " "
echo "--------------- 关 闭 zookeeper ---------------"
echo "------------ $host zookeeper -----------"
ssh $host "source ~/.bash_profile; zkServer.sh stop"
};;
"status"){
echo " "
echo "-------------- 查看zookeeper状态 --------------"
echo "------------ $host zookeeper -----------"
ssh $host "source ~/.bash_profile; zkServer.sh status"
};;
esac
done
写完之后保存退出,并赋予文件 zkp 执行权限,赋予执行权限后,文件zkp将变为绿色。
chmod +x zkp
将变为绿色的文件zkp剪切到zookeeper的bin目录下
完成后,我们在任意目录下均可一键启动集群!