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

安装环境

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文件:
在这里插入图片描述

你可以按照以下步骤在CentOS上安装和启动ZooKeeper: 1. 打开终端,以root用户身份登录到你的CentOS系统。 2. 使用以下命令安装Java Development Kit(JDK): ``` yum install java-1.8.0-openjdk-devel ``` 3. 确保Java安装成功后,你可以通过运行以下命令来检查Java版本: ``` java -version ``` 4. 下载ZooKeeper二进制文件。你可以从Apache ZooKeeper官方网站下载最新版本的二进制文件: ``` wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz ``` 5. 解压下载的文件: ``` tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz ``` 6. 将解压后的文件夹移动到适当的位置(例如,/opt目录): ``` mv apache-zookeeper-3.7.0-bin /opt/zookeeper ``` 7. 创建一个ZooKeeper配置文件: ``` cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg ``` 8. 编辑zoo.cfg文件,并根据你的需求进行必要的更改。主要更改项包括`dataDir`(指定ZooKeeper数据存储目录)和`clientPort`(指定ZooKeeper服务端口)。 9. 创建一个名为myid的文件,并将ZooKeeper服务器的ID写入其中。每个ZooKeeper服务器的ID必须是唯一的,并且应该在配置文件`dataDir`指定的目录下创建该文件。 ``` echo "1" > /opt/zookeeper/data/myid ``` 10. 启动ZooKeeper: ``` /opt/zookeeper/bin/zkServer.sh start ``` 11. 检查ZooKeeper状态: ``` /opt/zookeeper/bin/zkServer.sh status ``` 如果一切正常,你应该看到ZooKeeper已经成功启动。你可以使用ZooKeeper客户端进行连接和操作。注意,以上步骤中的路径和版本号可能需要根据你的实际情况进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值