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

zookeeper部署教程

在Linux系统中离线安装并配置ZooKeeper,可按以下步骤操作:

1. 准备安装包和依赖

  • 下载ZooKeeper:在有网络的环境下,前往Apache ZooKeeper官网下载所需的稳定版本,例如zookeeper-3.8.2.tar.gz
  • 准备JDK:ZooKeeper依赖Java运行环境,下载适合Linux系统的JDK安装包,如jdk-11.0.15_linux-x64_bin.tar.gz
  • 将下载好的ZooKeeper和JDK安装包复制到离线的Linux系统中。

2. 安装JDK

# 解压JDK安装包
tar -zxvf jdk-11.0.15_linux-x64_bin.tar.gz
# 移动解压后的JDK目录到指定位置
sudo mv jdk-11.0.15 /usr/local/
# 配置环境变量,编辑~/.bashrc文件
vi ~/.bashrc

在文件末尾添加以下内容:

export JAVA_HOME=/usr/local/jdk-11.0.15
export PATH=$JAVA_HOME/bin:$PATH

使环境变量生效:

source ~/.bashrc

验证Java安装:

java -version

3. 安装ZooKeeper

# 解压ZooKeeper安装包
tar -zxvf zookeeper-3.8.2.tar.gz
# 移动解压后的ZooKeeper目录到指定位置
sudo mv zookeeper-3.8.2 /usr/local/zookeeper

4. 配置ZooKeeper

# 进入ZooKeeper配置目录
cd /usr/local/zookeeper/conf
# 复制示例配置文件
cp zoo_sample.cfg zoo.cfg
# 编辑zoo.cfg文件
vi zoo.cfg

zoo.cfg中可进行如下常见配置修改:

# 数据存储目录
dataDir=/var/lib/zookeeper
# 日志存储目录
dataLogDir=/var/log/zookeeper
# 客户端连接端口
clientPort=2181
# 初始连接时的心跳数
initLimit=5
# 同步连接时的心跳数
syncLimit=2

创建数据和日志目录:

sudo mkdir -p /var/lib/zookeeper
sudo mkdir -p /var/log/zookeeper
sudo chmod 644 /usr/local/zookeeper/conf/zoo.cfg

5. 配置系统服务(可选但推荐)

[linux]# readlink -f $(which java)
/BOCO/java-se-8u43-ri/bin/java

创建ZooKeeper的Systemd服务文件:

sudo vi /etc/systemd/system/zookeeper.service

在文件中添加以下内容:

[Unit]
Description=Apache ZooKeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
Environment=JAVA_HOME=/BOCO/java-se-8u43-ri
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start-foreground
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

重新加载Systemd管理器配置:

sudo systemctl daemon-reload

可能遇到的情况

1.脚本权限不足

zkServer.sh 脚本可能没有执行权限。

使用以下命令为 zkServer.sh 脚本添加执行权限:
bash

chmod +x /usr/local/zookeeper/bin/zkServer.sh
2.服务文件语法错误

zookeeper.service 文件可能存在语法错误。

使用以下命令检查服务文件语法:

sudo systemd-analyze verify zookeeper.service

6. 启动和验证ZooKeeper

使用以下命令开放端口:

sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --reload

启动ZooKeeper服务:

sudo systemctl start zookeeper

设置ZooKeeper开机自启:

sudo systemctl enable zookeeper

检查ZooKeeper服务状态:

sudo systemctl status zookeeper

使用ZooKeeper客户端连接到服务器进行验证:

/usr/local/zookeeper/bin/zkCli.sh -server localhost:2181

通过以上步骤,你可以在离线的Linux系统中完成ZooKeeper的安装和配置。

http://www.dtcms.com/a/97045.html

相关文章:

  • 如何自动化同义词并使用我们的 Synonyms API 进行上传
  • java项目之基于ssm的亚盛汽车配件销售业绩管理系统(源码+文档)
  • 【每日算法】Day 11-1:分治算法精讲——从归并排序到最近点对问题(C++实现)
  • [运维]Linux系统扩容磁盘空间-将未分配的空间进行整合分配
  • 规范Unity工程目录和脚本结构能有效提升开发效率、降低维护成本
  • FastBlock是一个专为全闪存场景设计的高性能分布式块存储系统
  • Pytroch搭建全连接神经网络识别MNIST手写数字数据集
  • 在MFC中使用Qt(四):使用属性表(Property Sheet)实现自动化Qt编译流程
  • idea设置全局maven配置 对新建项目生效
  • 前端 - ts - - declare声明类型
  • 【斯坦福】【ICLR】RAPTOR:基于树结构的检索增强技术详解
  • RHCE 第一次作业 25-3-28
  • 火山dts迁移工具使用
  • linux》》docker 、containerd 保存镜像、打包tar、加载tar镜像
  • Android OTA升级中SettingsProvider数据库升级的深度解析与完美解决方案
  • Android R adb remount 调用流程
  • okhttp3网络请求
  • 【Apache Hive】
  • springboot3 整合 Log4j2
  • python3面试题(元类、内存管理、函数)
  • Maven工具学习使用(六)——聚合与继承
  • 24、web前端开发之CSS3(一)
  • java对pdf文件分页拆分
  • 第十四届MathorCup高校数学建模挑战赛-C题:基于 LSTM-ARIMA 和整数规划的货量预测与人员排班模型
  • 股指期货的连续主力合约能不能代表这个股指期货?
  • 人体细粒度分割sapiens 实战笔记
  • 数据设计(范式、步骤)
  • kubernetes》》k8s》》 kubeadm、kubectl、kubelet
  • Spring 约定编程案例与示例
  • uv 命令用conda命令解释