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

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

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

plaintext 复制代码
export JAVA_HOME=/usr/local/jdk-11.0.15
export PATH=$JAVA_HOME/bin:$PATH

使环境变量生效:

bash 复制代码
source ~/.bashrc

验证Java安装:

bash 复制代码
java -version

3. 安装ZooKeeper

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

4. 配置ZooKeeper

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

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

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

创建数据和日志目录:

bash 复制代码
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服务文件:

bash 复制代码
sudo vi /etc/systemd/system/zookeeper.service

在文件中添加以下内容:

plaintext 复制代码
[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管理器配置:

bash 复制代码
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服务:

bash 复制代码
sudo systemctl start zookeeper

设置ZooKeeper开机自启:

bash 复制代码
sudo systemctl enable zookeeper

检查ZooKeeper服务状态:

bash 复制代码
sudo systemctl status zookeeper

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

bash 复制代码
/usr/local/zookeeper/bin/zkCli.sh -server localhost:2181

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

相关推荐
码不停蹄的玄黓1 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
王小王-1232 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
要开心吖ZSH3 小时前
《Spring 中上下文传递的那些事儿》Part 4:分布式链路追踪 —— Sleuth + Zipkin 实践
java·分布式·spring
两斤半4 小时前
debian杂项
debian
两斤半4 小时前
Debian安装配置Nvidia驱动
debian
幼稚园的山代王4 小时前
RabbitMQ 4.1.1初体验
分布式·rabbitmq·ruby
百锦再4 小时前
RabbitMQ用法的6种核心模式全面解析
分布式·rabbitmq·路由·消息·通道·交换机·代理
一路向北North5 小时前
RabbitMQ简单消息监听和确认
分布式·rabbitmq·ruby
18你磊哥6 小时前
Windows 本地安装部署 Apache Druid
运维·debian
武子康9 小时前
大数据-31 ZooKeeper 内部原理 Leader选举 ZAB协议
大数据·后端·zookeeper