CentOS 7安装Zookeeper

说明:本文介绍如何在CentOS 7操作系统下使用Zookeeper

下载安装

首先,去官网下载所需要安装的版本,我这里下载3.4.9版本;

上传到云服务器上,解压

clike 复制代码
tar -xvf zookeeper-3.4.9.tar.gz

修改配置

进入Zookeeper目录下的conf目录,拷贝一份样例配置文件,命名为zoo.cfg,作为配置文件;

修改配置文件内容,如下:

主要修改以上三项配置:

  • dataDir:Zookeeper的数据目录,默认是根目录下的tmp文件夹,修改到我们Zookeeper安装目录下的tmp文件夹比较好;

  • dataLogDir:Zookeeper的日志路径,默认没有设置,同上,我们设置到安装目录下的tmp文件夹里;

  • clientPort:Zookeeper服务的端口号,默认是2181,可根据自己需要修改;

修改完,保存退出;

启动测试

Zookeeper启动需要有Java环境,所以当前操作系统需要安装了JDK,可敲下面的命令查看是否已安装JDK;

powershell 复制代码
java -version

我的服务器已安装过

如果没有安装,可参考下面的文章进行安装;

JDK11下载网址:https://www.oracle.com/cn/java/technologies/downloads/#java11

接着,来启动Zookeeper服务,进入Zookeeper安装目录下的bin目录。敲下面的命令启动Zookeeper服务器;

powershell 复制代码
# 启动zk服务
sh ./zkServer.sh start

其他相关命令;

powershell 复制代码
# 查看zk服务状态
sh ./zkServer.sh status

# 停止zk服务
sh ./zkServer.sh stop

# 重启zk服务
sh ./zkServer.sh restart

再启动Zookeeper客户端,在当前目录敲下面的命令启动Zookeeper客户端;

powershell 复制代码
# 启动zk客户端
 sh ./zkCli.sh

出现下面的界面,即为启动成功,此时Zookeeper可被使用,可在项目配置文件中添加相关配置(ZK地址、端口)使用;

需要说明的是,如果需要被其他服务器连接,需关闭防火墙,或开放当前服务器的2181端口(即Zookeeper Client端口)

powershell 复制代码
# 设置防火墙允许访问的端口
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent

# 刷新防火墙配置
sudo firewall-cmd --reload

如果是阿里云服务器,还需在ECS控制台,安全组中开放2181端口

这里推荐一个Zookeeper视图化连接工具,PrettyZoo,如果项目中连接Zookeeper失败,可通过这个工具连接试一下,看是配置文件的问题还是Zookeeper服务的问题,导致连接失败。

使用

另外

如果启动Zookeeper服务器、客户端失败,查看日志出现下面的错误

  • 启动服务器:nohup: 无法运行命令"java": 没有那个文件或目录

  • 启动客户端:./zkCli.sh:行39: java: 未找到命令

需要在对应的可执行文件里,添加JDK环境变量。敲下面的命令,查看JDK环境变量;

powershell 复制代码
# 查看JDK环境变量
cat /etc/profile

复制下来,添加到 zkServer.sh 或 zkCli.sh里;

总结

本文介绍了如何在CentOS 7中安装Zookeeper

相关推荐
爱网络爱Linux6 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi6 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
M78佐菲6 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
高亦真7 小时前
今天是学习嵌入式的第37天
linux·学习·算法
一个有温度的技术博主7 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
小小的木头人8 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
东城居士8 小时前
验证第一个Linux字符驱动程序
linux·嵌入式系统
网硕互联的小客服10 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
T1mzhou11 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
yunwei3714 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化