Centos7.6 Zookeeper集群搭建

突然又得重新搭建一下环境,这次写来防忘~
必须有JDK,这里用的是JDK1.8。系统是centos7.6。简单贴下主要命令:

#看一下有哪些可以装
yum search java|grep jdk
#安装jdk1.8 安装之后默认在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
yum install java-1.8.0-openjdk
#环境变量配置
vim /etc/profile
#配置完之后刷新
source /etc/profile
#javac
yum install -y java-1.8.0-openjdk-devel
#配置内容
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

一、Zookeepper安装

0.没有wget的话装一下wget。

yum -y install wget

1.获取Zookeeper镜像。

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

ls确认一下。
确认
2.解压。

tar -zxvf zookeeper-3.4.14.tar.gz

3.复制配置demo文件进行基本配置。

cd zookeeper-3.4.14/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg #暂时不用自定义,简单看一下,默认就行

4.使用默认配置运行zookeeper(bin目录)。

./zkServer.sh start

运行结果
5.用zkclient连接测试一下。

./zkCli.sh -server localhost:2181

二、集群模式

首先我将原来配置好的虚拟机关机,然后复制了两份,一共三台虚拟机,如下:

ip hostname
192.168.2.161 worker01
192.168.2.162 worker02
192.168.2.163 worker03

1.挨个修改配置文件

vim zoo.cfg
#添加以下内容 2888用于集群内机器通信,3888用于leader选举,2181是对外提供服务的端口,在另外一个配置点配置
server.1=192.168.2.161:2888:3888
server.2=192.168.2.162:2888:3888
server.3=192.168.2.163:2888:3888

2.挨个创建myid

cd /tmp/zookeeper/
vim myid
#在161里写1,162里写2,163里写3
#开端口
firewall-cmd --add-port=2181/tcp --permanent 
firewall-cmd --add-port=2888/tcp --permanent 
firewall-cmd --add-port=3888/tcp --permanent
#reload
firewall-cmd --reload
#然后挨个启动
zookeeper-3.4.14/bin/zkServer.sh start
#查看状态
zookeeper-3.4.14/bin/zkServer.sh status

我的三个机器的状态是这样的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.尝试增加一个observer
再来一台机器:192.168.2.164
每个机器上的配置变成:

server.1=192.168.2.161:2888:3888
server.2=192.168.2.162:2888:3888
server.3=192.168.2.163:2888:3888
server.4=192.168.2.164:2888:3888:observer

在4号机器上还要再配置一下zoo.cfg:

peerType=observer

运行之后结果是这样的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


版权声明:本文为qq_28799479原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。