Centos7.5 zookeeper安装(.tar.gz二进制安装)

本文详细介绍ZooKeeper集群的部署过程,包括环境准备、软件安装、配置文件修改及环境变量设置等关键步骤,适用于三节点集群搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装环境

1.从官方网站下载最新的稳定版本,目前是zookeeper-3.4.13
http://mirrors.shu.edu.cn/apache/zookeeper/stable/
2.三台Linux系统服务器:
server.1=10.255.29.29
server.2=10.255.29.30
server.3=10.255.29.31
3.将下载的zookeeper-3.4.13压缩包放在/home/bak/software目录下
4.软件依赖:jdk1.8.x

配置主服务器

1.解压缩

cd /home/bak/software
tar -zxvf zookeeper-3.4.13.tar.gz
mv zookeeper-3.4.13 /opt/

2.创建软连接

以后对zookeeper的所有操作都在软连接的目录 /zookeeper下进行,软连接就相当于windows系统下的快捷方式

cd /opt
ln -s zookeeper-3.4.13 /zookeeper

3.配置zoo.cfg文件

将/opt/zookeeper/conf目录下的zoo-sample.cfg文件修改为zoo.cfg。
修改配置信息:

vi /opt/zookeeper/conf/zoo.cfg 

在这里插入图片描述
其中:
initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。
syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。
dataDir=/opt/zookeeper: 用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。
clientPort=2181: 表示客户端所连接的Zookeeper服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。
server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。
4.配置环境变量

vim /etc/profile
#设置软连接的路径
export ZOOKEEPER_HOME=/opt/zookeeper
#${ZOOKEEPER_HOME}/bin:用于在任何文件目录都可以启动
#${ZOOKEEPER_HOME}/conf:用于稍后配置的自启动
PATH=$PATH:${ZOOKEEPER_HOME}/bin:${ZOOKEEPER_HOME}/conf

保存后,输入source /etc/profile命令使修改生效。

5.配置myid文件

创建data和logs文件夹

mkdir -p /opt/zookeeper/{data,logs}

命令解释
-p 递归创建
创建myid文件

在zoo.cfg文件中配置的dataDir路径中创建myid文件,使用下面的命令,将数字“1”写入myid文件,这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A)

echo "1" > /opt/zookeeper/data/myid

配置从服务器

1.复制主服务器的zookeeper到从服务器

输入:

scp  -r /opt/zookeeper-3.4.13 root@10.255.29.31:/opt/

点击回车,会提示输入10.255.29.31服务器,root用户的密码,再点击回车,主服务器的zookeeper就会全部复制到从服务器10.255.29.31
2.创建软链接

ln -s  zookeeper-3.4.13 zookeeper

3.修改myid文件

这个命令是覆盖修改,即myid文件中的数据直接由“1”变成了“2”

echo "2" > /opt/zookeeper/data/myid

第二个从服务器(10.255.29.31)重复如上操作

scp  -r /opt/zookeeper-3.4.13 root@10.255.29.32:/opt/
echo "3" > /opt/zookeeper/data/myid

启动zookeeper集群

1.启动每一个服务器上的zookeeper节点

#一主两从都是以下命令启动
cd zookeeper
bin/zkServer.sh start

2.启动后查看每个节点的状态

/opt/zookeeper/bin/zkServer.sh status

app02:
在这里插入图片描述
app01:
在这里插入图片描述
app03:
在这里插入图片描述

zookeeper集群连接测试

/opt/zookeeper/bin/zkCli.sh -server 10.255.29.30
/opt/zookeeper/bin/zkCli.sh -server 10.255.29.31

出现如图所示的结果,代表测试成功(因为搭建10.255.29.29-30集群的时候忘记截图,下面的图片是第二次搭建zookeeper集群时的截图,请大家自动忽略ip)
在这里插入图片描述

安装过程中遇到的问题

1.第一次启动成功,把三台服务器的zookeeper全部关闭,再次启动的时候,zookeeper启动失败
查看zookeeper.out日志记录文件:

[root@app02 zookeeper]# cat zookeeper.out 
nohup: failed to run command ?.app/jdk/bin/java?. No such file or directory

首先,查看JDK是否正确安装

java -version

在这里插入图片描述
其次,在/opt/zookeeper/bin/zkServer.sh中,添加jdk的环境变量,如下所示:

重启zookeeper,问题解决。

最后,如果问题依旧没有解决,那么,你应该和我遇到了相同的问题。
jdk的环境变量,写的是软链接的路径,但是你忘记创建jdk的软链接

2.ZooKeeper集群安装后无法启动ZooKeeper JMX enabled by default

[root@cicd ~]# /opt/zookeeper/src/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/src/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@cicd ~]# /opt/zookeeper/src/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/src/zookeeper-3.4.13/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

解决方法:
1.首先考虑防火墙的问题,关闭防火墙,否则三台机器之间无法正常通信
2.其次是/opt/zookeeper/data/myid文件中的数值是否与/opt/zookeeper/conf/zoo.cfg文件中的server.1=ip:2888:3888中的1匹配。

10.255.30.212服务器为例:
myid文件:
在这里插入图片描述
zoo.cfg文件:
在这里插入图片描述

### ZooKeeperCentOS 7上的离线安装 #### 准备工作 确保操作系统版本为CentOS Linux release 7.4.1708 (Core),并确认已准备好所需的软件包,包括JDK 1.8。关闭SELinux和防火墙以减少不必要的干扰[^1]。 #### 下载与解压ZooKeeper安装包 将`apache-zookeeper-3.7.0-bin.tar.gz`文件上传至服务器的指定位置,例如`/root`目录下。接着,在终端执行命令来解压缩此tarball文件: ```bash tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /home/install_package/ ``` 这会把ZooKeeper的相关文件提取到设定的目标路径内[^2]。 #### 配置环境变量 编辑`.bash_profile`或其他适当的shell配置文件,添加如下行以便于后续操作中可以直接调用ZooKeeper工具: ```bash export ZOOKEEPER_HOME=/home/install_package/apache-zookeeper-3.7.0-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin source ~/.bash_profile ``` 上述指令使得可以在任何地方通过命令行访问ZooKeeper客户端和其他实用程序。 #### 初始化配置文件 创建一个新的配置文件`zoo.cfg`位于`${ZOOKEEPER_HOME}/conf`目录之下,并按照官方文档或具体需求调整参数设置。对于单节点测试而言,默认模板通常已经足够满足基本功能验证的需求[^5]。 #### 启动服务 切换到ZooKeeper二进制文件所在的根目录,运行以下脚本来启动守护进程: ```bash cd ${ZOOKEEPER_HOME} bin/zkServer.sh start ``` 此时应该可以看到日志输出表明实例正在正常运作;可以通过查看状态来进一步确认其健康状况: ```bash bin/zkServer.sh status ``` 如果一切顺利,则说明本地部署已完成[^3]。 #### 设置开机自启(可选) 为了使ZooKeeper能够在系统重启之后自动加载,可以利用chkconfig管理器来进行相应设置: ```bash chkconfig --add zookeeper chkconfig zookeeper on ``` 请注意这里假设存在相应的init script支持,否则可能需要手动编写或寻找社区贡献版本[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值