centos7 zookeeper单机安装 && 集群搭建

本文详细介绍了如何在CentOS7环境下,从单机安装Zookeeper到构建Zookeeper集群的全过程,包括环境部署、JDK安装、Zookeeper下载解压、配置文件修改、创建ServerID标识及集群状态检查等步骤。

1、环境部署

节点ip系统版本
zk1172.16.253.57centos7.21511
zk2172.16.253.14centos7.21511
zk3172.16.253.62centos7.21511

修改每个节点hosts文件

echo "172.16.253.57 zk1" >> /etc/hosts
echo "172.16.253.14 zk2" >> /etc/hosts
echo "172.16.253.62 zk3" >> /etc/hosts

2、每个节点安装并配置jdk环境

上传jre-8u131-linux-x64.gz到/opt/目录下

cd /opt
tar -zxvf jre-8u131-linux-x64.gz
vim /etc/profile

##JDK
export JAVA_HOME=/opt/jre1.8.0_131
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_HOME  JAVA_BIN PATH CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

##刷新环境变量
source /etc/profile 或. /etc/profile
java -version #查看jdk版本

3.zk单机安装(三节点都执行,但不要启动服务并测试)

#下载并解压zk
wget http://www.apache.org/dist//zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
tar -xf zookeeper-3.4.10.tar.gz -C /opt
cd  !$  &&  mv zookeeper-3.4.10  zookeeper
cd zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg

#把zookeeper加入到环境变量

echo -e "# append zk_env\nexport  PATH=$PATH:/opt/zookeeper/bin" >> /etc/profile

#刷新环境变量
source /etc/profile 或. /etc/profile

启动zk服务
sh bin/zkServer.sh start

启动客户端
/opt/zookeeper/bin/zkCli.sh -server zk1:2181 命令连接到zk服务端
测试

quit 退出

注意:
如果是单机部署可以启动zk服务并通过客户端测试。
如果是集群部署,则不要启动zk服务;不要在测试时创建新节点。因为配置文件还没有修改
如果该节点启动服务并在测试时创建新节点,
则在集群状态显示Mode: standalone,而不是follower!

4.Zookeeper集群配置(在每个节点都执行)

4.1修改配置文件

vi /opt/zookeeper/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs
clientPort=2181
autopurge.snapRetainCount=500
autopurge.purgeInterval=24
server.1=172.16.253.57:2888:3888
server.2=172.16.253.14:2888:3888
server.3=172.16.253.62:2888:3888

## server.A=B:C:D中的 A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口

一键操作为:

sed -i '12d' /opt/zookeeper/conf/zoo.cfg 
sed -i '11a dataDir=/opt/zookeeper/data' /opt/zookeeper/conf/zoo.cfg
sed -i '12a dataLogDir=/opt/zookeeper/logs' /opt/zookeeper/conf/zoo.cfg
sed -i '26c autopurge.snapRetainCount=500' /opt/zookeeper/conf/zoo.cfg
sed -i '29c autopurge.purgeInterval=24' /opt/zookeeper/conf/zoo.cfg
echo "server.1=172.16.253.57:2888:3888" >> /opt/zookeeper/conf/zoo.cfg
echo "server.2=172.16.253.14:2888:3888" >> /opt/zookeeper/conf/zoo.cfg
echo "server.3=172.16.253.62:2888:3888" >> /opt/zookeeper/conf/zoo.cfg

4.2创建相关目录,三台节点都需要
mkdir -p /opt/zookeeper/{logs,data}

4.3创建ServerID标识
除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。
这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。
#在node1服务器上面创建myid文件,并设置值为1,同时与zoo.cfg文件里面的server.1保持一致

zk1上执行:echo "1" > /opt/zookeeper/data/myid
zk2上执行:echo "2" > /opt/zookeeper/data/myid
zk3上执行:echo "3" > /opt/zookeeper/data/myid

5.Zookeeper集群查看

5.1启动每个服务器上面的zookeeper节点:

/opt/zookeeper/bin/zkServer.sh start

5.2、启动完成之后查看每个节点的状态
/opt/zookeeper/bin/zkServer.sh status

zk1:follower  zk2:follower    zk3:leader

5.3启动客户端
/opt/zookeeper/bin/zkCli.sh -server zk1:2181 命令连接到zk服务端
测试

quit 退出

至此,整个zookeeper集群已经搭建并测试完成!

谢谢!

无我相,无人相,无众生相,无寿者相!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值