Zookeeper集群搭建

下载zookeeper和jdk

下载地址:
zookeeper : http://mirror.bit.edu.cn/apache/zookeeper/
jdk: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

解压

解压

tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz -C /usr/local/soft
tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/soft

创建软连接
建立了一个redis目录的软链接,这样做是为了不把zookeeper目录固定在指定版本上,有利于Zookeeper未来版本升级,算是安装软件的一种好习惯。
创建完软连接相当于windows上面的快捷键,可以直接从/usr/local/jkd 进入到指定目录

ln -s /usr/local/soft/jdk1.8.0_231 /usr/local/jdk
ln -s /usr/local/soft/apache-zookeeper-3.5.6-bin /usr/local/zookeeper

配置环境变量

修改环境变量

vim /etc/profile

在文件最后加入下面内容

#set zookeeper environment
export ZK_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZK_HOME/bin

#set JDK and JRE environment
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

使配置生效

souce /etc/profile

配置Zookeeper

修改zookeeper配置文件

cd /usr/local/zookeeper/conf
cp zoo_sample.conf zoo.conf
vim zoo.conf

修改并加入如下内容

dataDir=/usr/local/zookeeper/data

clientPort=2812

server.0=192.168.31.129:2888:3888
server.1=192.168.31.130:2888:3888
server.2=192.168.31.131:2888:3888

图片说明如下
在这里插入图片描述
上面红色框住的内容即是我们修改的内容:

①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

③、client:监听客户端连接的端口。

④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

⑥、server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;

B:是这个服务器的 ip 地址;

C:Leader选举的端口;

D:Zookeeper服务器之间的通信端口。

我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。

第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。

创建配置文件所必须的文件
写入服务序号
第一个服务器 192.168.31.129

mkdir /usr/local/zookeeper/data
touch /usr/local/zookeeper/data/myid
vim /usr/local/zookeeper/data/myid
## 输入内容
0

第二个服务器 192.168.31.130

mkdir /usr/local/zookeeper/data
touch /usr/local/zookeeper/data/myid
vim /usr/local/zookeeper/data/myid
## 输入内容
1

。。。以此类推跟配置文件中相匹配

启动 Zookeeper

#启动ZK服务: 
zkServer.sh start
#停止ZK服务: 
zkServer.sh stop
#重启ZK服务: 
zkServer.sh restart
#查看ZK服务状态: 
zkServer.sh status

Zookeeper集群需要每台挨个启动。

启动集群的时候,集群数量启动没有超过一半,状态会有错误提示,当集群启动数量超过一半就会自动转为正常状态,并且此台使集群进入正常工作状态的服务器会成为leader角色,集群中其他服务器的角色为fllower。
如果启动有错误到 /usr/local/zookeeper/log文件下查看即可,百度。。。。

启动后

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

发布了9 篇原创文章 · 获赞 3 · 访问量 9227
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章