zookeeper集群部署
Posted BIGDATA_N1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper集群部署相关的知识,希望对你有一定的参考价值。
zookeeper集群部署
服务器基本信息
ip地址 | 安装服务 | 用户名 | host |
---|---|---|---|
12.0.2.20 | zookeeper-3.5.9 | mppadmin | qfs001 |
12.0.2.21 | zookeeper-3.5.9 | mppadmin | qfs002 |
12.0.2.22 | zookeeper-3.5.9 | mppadmin | qfs003 |
1 安装zookeeper
1.1 下载安装包apache-zookeeper-3.5.9-bin.tar.gz
# 解压安装包
[mppadmin@qfs001 ~]$ tar -zxf apache-zookeeper-3.5.9-bin.tar.gz
[mppadmin@qfs001 ~]$ mv apache-zookeeper-3.5.9-bin zookeeper-3.5.9
# 建立数据与日志存放路径
[mppadmin@qfs001 ~]$ cd zookeeper-3.5.9
[mppadmin@qfs001 apache-zookeeper-3.5.9-bin]$ mkdir logs
[mppadmin@qfs001 apache-zookeeper-3.5.9-bin]$ mkdir data
# 配置zookeeper
[mppadmin@qfs001 ~]$ cd zookeeper-3.5.9/conf
[mppadmin@qfs001 conf]$ cp zoo_sample.cfg zoo.cfg
[mppadmin@qfs001 conf]$ vi zoo.cfg
clientPort=2181
dataDir=/home/mppadmin/zookeeper-3.5.9/data
dataLogDir=/home/mppadmin/zookeeper-3.5.9/logs
server.0=12.0.2.20:2888:3888
server.1=12.0.2.21:2888:3888
server.2=12.0.2.22:2888:3888
1.2 在zookeeper-3.5.9/data目录下新建文件myid,写入server对应编号
[mppadmin@qfs001 data]$ cat myid
0
2 扩展到其他节点
2.1 把zookeeper-3.5.9文件复制到其他节点
[mppadmin@qfs001 ~]$ scp -r zookeeper-3.5.9/ mppadmin@qfs002:~
[mppadmin@qfs001 ~]$ scp -r zookeeper-3.5.9/ mppadmin@qfs003:~
2.2 其他节点修改sever对应编号
[mppadmin@qfs002 data]$ cat myid
1
[mppadmin@qfs003 data]$ cat myid
2
3 单节点启动停止服务
# 启动服务
[mppadmin@qfs001 zookeeper-3.5.9]$ ./bin/zkServer.sh start
# 停止服务
[mppadmin@qfs001 zookeeper-3.5.9]$ ./bin/zkServer.sh stop
4 配置集群启动停止服务
[root@qfs001 ~]# vi /etc/profile
# ZOOKEEPER_HOME author:yyliu
export ZK_HOME=/home/mppadmin/zookeeper-3.5.9
export PATH=$ZK_HOME/bin:$PATH
编写集群启动停止服务
# 编写zookeeper分布式启动脚本,可以输入start|stop|restart|status命令
#! /bin/bash
# 设置Zookeeper集群节点地址
hosts=(qfs001 qfs002 qfs003)
# 获取输入命令参数
cmd=$1
# 执行分布式管理命令
function zookeeper()
{
for i in ${hosts[@]}
do
#echo Zookeeper node is $i, run $cmd command.
ssh mppadmin@$i "source /etc/profile;zkServer.sh $cmd;echo Zookeeper node is $i, run $cmd command." &
sleep 1
done
}
# 判断输入的Zookeeper命令参数是否有效
case "$1" in
start)
zookeeper
;;
stop)
zookeeper
;;
status)
zookeeper
;;
start-foreground)
zookeeper
;;
upgrade)
zookeeper
;;
restart)
zookeeper
;;
print-cmd)
zookeeper
;;
*)
echo "Usage: $0 {start|start-foreground|stop|restart|status|upgrade|print-cmd}"
RETVAL=1
esac
# 集群启动服务
[mppadmin@qfs001 zookeeper-3.5.9]$ zk_daemons.sh start
# 集群停止服务
[mppadmin@qfs001 zookeeper-3.5.9]$ zk_daemons.sh stop
以上是关于zookeeper集群部署的主要内容,如果未能解决你的问题,请参考以下文章