Linux软件安装 —— zookeeper集群安装

文章目录


一、节点说明

IP 主机名
192.168.10.102 node02
192.168.10.103 node03
192.168.10.104 node04

二、下载软件

官网地址:Apache ZooKeeper

本文安装版本为:apache-zookeeper-3.8.5-bin.tar.gz


三、安装JDK

参考本人此篇文章:Linux软件安装 ------ JDK安装


四、安装zookeeper

1、将安装包上传的node02节点并解压到安装目录

shell 复制代码
# 解压到软件安装目录
tar -zxvf apache-zookeeper-3.8.5-bin.tar.gz -C /opt/module/
cd /opt/module/

# 修改名称
mv apache-zookeeper-3.8.5-bin/ zookeeper
cd zookeeper

2、创建data、logs目录

shell 复制代码
mkdir data logs

3、data目录下创建一个myid的文件

在文件中添加与server对应的编号:每个节点唯一

shell 复制代码
vim myid

2

4、配置zoo.cfg文件

shell 复制代码
# 复制zoo.cfg文件
cp zoo_sample.cfg zoo.cfg

# 编辑zoo.cfg
vim zoo.cfg

# 修改数据存储路径并添加日志路径
dataDir=/opt/module/zookeeper/data
dataLogDir=/opt/module/zookeeper/logs

# 在文件末尾添加集群信息
#######################cluster##########################
server.2=node02:2888:3888
server.3=node03:2888:3888
server.4=node04:2888:3888

参数解读

shell 复制代码
server.A=B:C:D。
  • A是一个数字,表示这个是第几号服务器;

    集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

  • B是这个服务器的地址;

  • C 是这个服务器Follower与集群中的Leader服务器交换信息的端口;

  • D 是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

5、分发到其他节点

shell 复制代码
# 将zookeeper分发到node03,node04
scp -r /opt/module/zookeeper/ root@node03:/opt/module/
scp -r /opt/module/zookeeper/ root@node04:/opt/module/

#修改node03中zookeeper的id
vim myid

3

#修改node04中zookeeper的id
vim myid

4

五、zookeeper基本命令

shell 复制代码
# 启动命令:在三个节点分别执行
bin/zkServer.sh start

# 查看集群状态
bin/zkServer.sh status

# 进入zookeeper客户端
bin/zkCli.sh

# 停止命令:在三个节点分别执行
bin/zkServer.sh stop
相关推荐
隔窗听雨眠9 分钟前
数据中台退潮之后的企业数据架构重构
大数据·数据中台·数据架构
AOI小白新手上路18 分钟前
深度学习算力购置方案分析:本地 RTX 4090 服务器 vs 云端租赁
服务器·人工智能·深度学习
.冰块.22 分钟前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
QXWZ_IA23 分钟前
北斗高精度定位在泛自然资源行业的技术演进与应用方向
大数据·人工智能
千桐科技40 分钟前
qKnow智能体构建平台专业版 v3.1.5 发布:扩容工作流编排调用能力,上线Text2SQL插件,拓宽数据类智能应用构建边界
服务器·数据库·oracle·qknow
承渊政道1 小时前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll
雪落漂泊1 小时前
Linux进程(四)概念:命令行参数和环境变量篇
linux·运维·服务器
方便面不加香菜1 小时前
Docker Container -- 容器命令详解
运维·docker·容器
NextTech_1 小时前
不想学 vim,怎么改服务器上的配置文件?
服务器·编辑器·vim
starzy19901 小时前
Scala 可变 Set 操作:从性能问题到最佳实践
大数据·scala