centos 安装 zookeeper 及搭建集群

参考:https://www.cnblogs.com/zhiyouwu/p/11546097.htmlhttps://www.cnblogs.com/architectforest/p/12540013.html

zk下载地址:https://downloads.apache.org/zookeeper

本文使用各种软件版本

jdk:11

zookeeper: 3.5.8

centos: 8

vmware:15.5.1

1,准备工作

安装jdk,并配置环境变量

下载zk的安装包到服务器,下载稳定版,带bin是安装包,不带bin是源码包

image-20200530214936246

2,安装

2.1 解压

tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz

2.2 进入到解压的目录,看一下内容

image-20200530220853456

2.3 进入conf目录,将 zoo_sample.cfg 复制一份并命名为 zoo.cfg

cp zoo_sample.cfg zoo.cfg
image-20200530221050913

2.4 编辑zoo.cfg,将dataDir的值修改为实际数据存储的位置,若实际位置还没有文件夹需要先创建文件夹

vi zoo.cfg

image-20200530221313232

2.5 启动zookeeper(可以不执行,直接到3)

在zookeeper目录下的bin文件夹中,使用以下命令启动zookeeper:

./zkServer.sh start

2.6 检查zookeeper启动情况

我们可以使用以下命令查看zookeeper的启动状态:

./zkServer.sh status

除此之外,我们也可以通过查看zookeeper的进程来判断其是否启动成功!

ps -ef | grep zookeeper

3 将zookeeper作为一个服务

3.1 进入 /etc/init.d 目录

3.2 创建文件zookeeper,并添加脚本,ZK_PATH为zookeeper安装位置

#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/usr/zookeeper
export JAVA_HOME=/usr/java/jdk-11.0.7
case $1 in
 start) sh  $ZK_PATH/bin/zkServer.sh start;;
 stop)  sh  $ZK_PATH/bin/zkServer.sh stop;;
 status) sh  $ZK_PATH/bin/zkServer.sh status;;
 restart) sh $ZK_PATH/bin/zkServer.sh restart;;
 *)  echo "require start|stop|status|restart"  ;;
esac

3.3 保存脚本之后,执行以下指令将其注册为服务

chkconfig --add zookeeper

3.4 测试其是否生效,使用命令启动(若服务已启动需要先停止),注意需要修改创建的zookeeper服务权限

service zookeeper start
​
chmod +x zookeeper 
​
service zookeeper status
image-20200530222758110

注:上图报的没有文件或目录,但是实际上有,是因为我在Windows上创建的zookeeper这个文件,需要使用dos2unix filename转换一下

dos2unix zookeeper
image-20200530223023884

注:启动前,检查bin目录下的.sh文件是否有执行权限,没有就加上执行权限

image-20200531180714801

至此单机安装已完成,以下为功能增强,可根据实际情况进行配置

3.5 关闭zookeeper内置的管理器

zookeeper内置有一个web管理器,默认使用8080端口

在配置文件zoo.cfg中添加如下一行:

admin.enableServer=false

3.6 配置zookeeper的日志目录

在zoo.cfg中定义日志的路径

dataLogDir=/usr/zookeeper/dataLog

4 配置集群

4.1 zoo.cfg文件添加配置,server.A=B:C:D

其中A是一个数字,表示这个是第几号服务器,与myid文件内容一致

B是这个服务器的IP地址,

C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口

D是在leader挂掉时专门用来进行选举leader所用的端口

样例如下:

server.1=192.168.134.131:2888:3888
​
server.2=192.168.134.132:2888:3888
​
server.3=192.168.134.133:2888:3888

4.2 data目录下增加myid文件,文件内容与zoo.cfg中序号一致

image-20200531180101083

4.3 配置完成后,复制虚拟机文件,需要几台服务器就粘贴几个

4.4 分别启动虚拟机,修改对应的myid文件内容,启动zookeeper

4.5 查看zookeeper状态

service zookeeper status
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容