当前位置: 首页 > news >正文

ZooKeeper集群的安装与部署

ZooKeeper集群的安装与部署

  • 1、在所有节点上安装ZooKeeper
  • 2、配置 ZooKeeper
  • 3、配置环境变量
  • 4、创建Systemd服务文件
  • 5、启动ZooKeeper集群
  • 6、验证集群状态
  • 7、 前台启动查看日志

1、在所有节点上安装ZooKeeper

创建目录

mkdir -p /usr/local/packages

进入目录

cd /usr/local/packages

下载文件

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz

解压

tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz -C /usr/local
mv /usr/local/apache-zookeeper-3.9.2-bin /usr/local/zookeeper

创建数据目录

mkdir -p /usr/local/zookeeper/data

2、配置 ZooKeeper

在每台节点上创建配置文件

vi /usr/local/zookeeper/conf/zoo.cfg

配置文件

# 基本单位 tick 的毫秒数,用于心跳和超时计算
tickTime=2000# 允许从节点在启动时与领导者进行初始同步的最大 tick 次数 (initLimit * tickTime)
initLimit=10# 请求和确认之间的最大 tick 延迟 (syncLimit * tickTime)
syncLimit=5# ZooKeeper 数据存储目录,用于存放快照和事务日志
dataDir=/usr/local/zookeeper/data# 客户端连接端口
clientPort=2181####################### 集群配置 ##########################
#2888用于节点间通信,3888用于领导者选举
server.1=dict-gsszhjtysxxpt-018:2888:3888
server.2=dict-gsszhjtysxxpt-019:2888:3888
server.3=dict-gsszhjtysxxpt-020:2888:3888

创建 myid 文件,在每个节点上创建唯一的 myid 文件
在 dict-gsszhjtysxxpt-018:

echo "1" > /usr/local/zookeeperr/data/myid

在 dict-gsszhjtysxxpt-019:

echo "2" > /usr/local/zookeeperr/data/myid

在 dict-gsszhjtysxxpt-020:

echo "3" > /usr/local/zookeeperr/data/myid

3、配置环境变量

在所有节点上创建环境变量文件

tee /etc/profile.d/zookeeper.sh << 'EOF'
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
EOF

生效环境变量

source /etc/profile.d/zookeeper.sh

4、创建Systemd服务文件

vi /etc/systemd/system/zookeeper.service

所有节点相同

[Unit]
Description=ZooKeeper Service
After=network.target[Service]
Type=forking
User=root
Group=rootEnvironment=JAVA_HOME=/etc/java/jdk1.8.0_421
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
Restart=always
RestartSec=10s[Install]
WantedBy=multi-user.target

5、启动ZooKeeper集群

在所有节点上执行:

#重新加载systemd配置

systemctl daemon-reload

#启用ZooKeeper服务

systemctl enable zookeeper

#停用ZooKeeper服务

systemctl stop zookeeper

#启动ZooKeeper服务

systemctl start zookeeper

#重启服务

systemctl restart zookeeper

#检查服务状态

systemctl status zookeeper

6、验证集群状态

查看本节点状态

/usr/local/zookeeper/bin/zkServer.sh status

返回信息参考:

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

使用客户端测试,连接到任意节点

/usr/local/zookeeper/bin/zkCli.sh -server dict-gsszhjtysxxpt-018:2181

在 zkCli 中执行测试命令

create /test "hello"
get /test
quit

7、 前台启动查看日志

/usr/local/zookeeper/bin/zkServer.sh start-foreground
http://www.xdnf.cn/news/1483093.html

相关文章:

  • 静态IP一般在什么业务场景中使用
  • Debezium日常分享系列之:Debezium 3.2.2.Final发布
  • 九月六号练习题
  • 【基础-判断】一个页面可以存在多个@Entry修饰的组件。
  • 【LeetCode热题100道笔记】排序链表
  • DMA寄存器学习
  • B.50.10.11-Spring框架核心与电商应用
  • 拯救珍贵回忆:AI照片修复让老照片重获新生
  • 推荐的Java服务环境:JDK17+ZGC(JDK 21的ZGC支持分代回收,性能更高)
  • 一阶低通滤波:从原理到实践,平滑数据的艺术
  • 备份压缩与存储优化:智能数据管理全攻略
  • 读写锁 shared_mutex 共享互斥量介绍
  • Dart HashMap:不保证顺序的 Map 实现
  • (二).net面试(static)
  • MySQL--索引和事务
  • simd学习
  • esbuild入门
  • Cursor安装使用 与 Cursor网页端登录成功,客户端怎么也登陆不上
  • 解析噬菌体实验核心:从材料选择到功能验证的标准化操作框架
  • 数据结构——队列(Java)
  • 基于STM32单片机的酒驾检测设计
  • OpenAvatarChat项目在Windows本地运行指南
  • 【基础-单选】关于自定义组件的生命周期下列说法错误的是
  • 四款主流深度相机在Python/C#开发中的典型案例及技术实现方案
  • vant组件
  • 昇腾310i Pro固件说明
  • Vue3中SCSS的使用指南
  • 数据结构与算法1 第一章 绪论
  • AI工具深度测评与选型指南 - AI工具测评框架及方法论
  • Gitea:轻量级的自托管Git服务