问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Zookeeper 3.8.1 安装配置指南

创作时间:
作者:
@小白创作中心

Zookeeper 3.8.1 安装配置指南

引用
CSDN
1.
https://blog.csdn.net/qq_36969407/article/details/129314737

一、 下载zookeeper二进制安装包

官网官网地址Apache ZooKeeper
腾讯镜像仓库:Index of /apache/zookeeper/
apache镜像仓库:Index of /dist/zookeeper

官网步骤如下:

二、基础配置(以下操作所有节点均要执行)

1、修改各节点名称

[root@localhost ~]# hostnamectl set-hostname zoo1  
[root@localhost ~]# hostnamectl set-hostname zoo2  
[root@localhost ~]# hostnamectl set-hostname zoo3  

2、修改hosts文件

cat << EOF >> /etc/hosts
172.18.0.181 zoo1
172.18.0.182 zoo2
172.18.0.183 zoo3
EOF  

3、检测并安装Java

3.1查看自带的jdk

[root@localhost ~]# rpm -qa | grep -i java  

3.2删除已有jdk

[root@localhost ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps  

3.3编辑profile文件,去除已有环境变量配置

[root@localhost ~]# vim /etc/profile
#删除JAVA_HOME,CLASSPATH等操作省略
#生效环境变量
[root@localhost ~]# source /etc/profile
#再次查看Java是否存在
[root@localhost ~]# rpm -qa | grep -i java  

3.4 安装jdk并重启服务器

[root@localhost ~]# yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-headless.x86_64 java-1.8.0-openjdk-devel.x86_64
# 重启服务器
[root@localhost ~]# reboot  

三、安装zookeeper(以下操作所有节点均要执行)

1、解压二进制安装包(安装包放在了/home目录下,可自行放置)

[root@zoo1 home]# tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
#移动到/opt/下,并重新命名为zookeeper
[root@zoo1 home]# mv apache-zookeeper-3.8.1 /opt/zookeeper  

2、修改配置文件

[root@zoo1 home]# cd /opt/zookeeper/conf
[root@zoo1 home]# vim zoo_sample.cfg  

2.1、zoo_sample.cfg文件配置如下(注意:端口号后切勿存在空格,会报错)

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zookeeper/data
#dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpHost=0.0.0.0
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888  

2.2、配置文件参数说明:

  • tickTime:发送心跳的间隔时间,单位:毫秒

  • initLimit:Follower连接到Leader,失败后单次等待时间。等待总时长:tickTime * initLimit

  • syncLimit:Follower发送数据到Leader,失败后单次等待时间。等待总时长:tickTime * initLimit

  • dataDir:存储快照日志的目录

  • dataLogDir:存储事务日志的目录(未指定事务日志存放地址将默认存放在dataDir下)

  • clientPort:监听客户端连接的端口

  • server.N=H:P:B

  • N:服务器编号

  • H:服务器地址

  • P:服务器相互通讯的端口

  • B:P不可用时的备用端口号

单机集群

  • clientPort不同
  • H相同
  • P、B不相同

server.1=IP:2887:3887
server.2=IP:2888:3888
server.3=IP:2889:3889

分布式集群

  • clientPort相同
  • H不相同,分别是各个服务器的IP
  • P、B相同

server.1=IP1:2888:3888
server.2=IP2:2888:3888
server.3=IP3:2888:3888

3、将zoo_sample.cfg重命名为zoo.cfg

[root@zoo1 conf]# MV zoo_sample.cfg ./zoo.cfg  

4、创建配置文件中的dataDir参数目录

[root@zoo1 conf]# mkdir -p /opt/zookeeper/data  

5、生成myid文件

#节点1
[root@zoo1 conf]# echo 1 > /opt/zookeeper/data/myid
#节点2
[root@zoo1 conf]# echo 2 > /opt/zookeeper/data/myid
#节点3
[root@zoo1 conf]# echo 3 > /opt/zookeeper/data/myid  

6、配置环境变量

[root@zoo1 conf]# vim /etc/profile
#在文件最后添加:
export ZK_HOME=/opt/zookeeper
export PATH=$PATH:$ZK_HOME/bin
#生效环境变量
[root@zoo1 conf]# source /etc/profile  

7、开启防火墙及对应端口

[root@zoo1 conf]# systemctl start firewalld
[root@zoo1 conf]# firewall-cmd --zone=public --add-port=2888/tcp --permanent  
[root@zoo1 conf]# firewall-cmd --zone=public --add-port=3888/tcp --permanent  
[root@zoo1 conf]# firewall-cmd --reload
[root@zoo1 conf]# firewall-cmd --zone=public --list-ports  

8、启动服务及相关命令

# 启动服务
[root@zoo1 conf]# /opt/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#暂停服务
[root@zoo1 conf]# /opt/zookeeper/bin/zkServer.sh stop
#查看服务状态(注意查看运行状态时,只有2个以上节点都启动了才会不会报error)
[root@zoo1 conf]# /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Error contacting service. It is probably not running.
#节点都启动后(出现Mode: follower,Mode: follower则为启动成功)
[root@zoo1 conf]# /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
#启动服务含执行日志
[root@zoo1 conf]# /opt/zookeeper/bin/zkServer.sh start-foreground  
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号