zookeeper-3.6.2集群安装
目录
集群规划:
详见上一篇博客:实时数仓、基于Flink1.11的SQL构建实时数仓 中环境说明
jdk1.8 配置环境变量
vi /etc/profile
export JAVA_HOME=/opt/software/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
配置免密:所有主机都执行
ssh-keygen -t rsa
ssh-copy-id root@m1
ssh-copy-id root@m2
ssh-copy-id root@s1
ssh-copy-id root@s2
ssh-copy-id root@s3
安装步骤:
1. 下载zookeeper
Zookeeper下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
2. 安装并配置Zookeeper
2.1 安装zookeeper
安装目录:/opt/hadoop/apache-zookeeper-3.6.2-bin
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
2.2 配置zookeeper集群
进入配置文件目录 :cd /opt/hadoop/apache-zookeeper-3.6.2-bin/conf
复制配置文件模板 :cp zoo_sample.cfg zoo.cfg
编辑:vim zoo.cfg
#将文件下添加如下内容
tickTime=2000
#zk的存放数据的目录,可以指定在zk的home目录下创建一个data目录
dataDir=/opt/data/zookeeper
#客户端访问端口
clientPort=2181
initLimit=5
syncLimit=2
#server.id=ip:port:port,id应该与data/下的myid中的内容保持一致
server.1=s1:2888:3888
server.2=s2:2888:3888
server.3=s3:2888:3888
2.3 分发zookeeper的目录到其它节点
scp -r /opt/hadoop/apache-zookeeper-3.6.2-bin root@s2: /opt/hadoop/
scp -r /opt/hadoop/apache-zookeeper-3.6.2-bin root@s3: /opt/hadoop/
2.4 在各个节点上分别创建data目录,创建myid文件
# s1
cd /opt/data/zookeeper
mkdir data
cd data/
touch myid
echo 1 > myid
-------------
# s2
cd /opt/data/zookeeper
mkdir data
cd data/
touch myid
echo 2 > myid
--------------
# s3
cd /opt/data/zookeeper
mkdir data
cd data/
touch myid
echo 3 > myid
2.5 分别在不同节点上启动zkServer.sh start
分别在s1 s2 s3上启动 zkServer.sh start /status/stop
/opt/hadoop/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
3 群起脚本
分享一个批量执行的小脚本:如下创建脚本:/home/ctl/zookeeperctl
[root@m1 ctl]# cat /home/ctl/zookeeperctl
#!/bin/sh
workPath=$(dirname $0)
doCommand()
{
hosts=`sed -n '/^[^#]/p' /home/ctl/zookeeperhostlist`
for host in $hosts
do
echo ""
echo HOST $host
ssh $host "$@"
done
return 0
}
if [ $# -lt 1 ]
then
echo "$0 cmd"
exit
fi
doCommand "$@"
echo "return from doCommand"
配置文件:/home/ctl/zookeeperhostlist
[root@m1 ctl]# cat /home/ctl/zookeeperhostlist
s1
s2
s3
使用方法:
将路径/home/ctl 添加到环境变量中:export PATH=$PATH:/home/ctl
批量启动:zookeeperctl "/opt/hadoop/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start"