技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页zookeeper>正文
Linux系统下部署ZooKeeper集群
2023年04月30日 zookeeper 暂无评论 ⁄ 被围观 1,865次+

1、ZooKeeper介绍

1.1、ZooKeeper 在 Java 版本 1.8 或更高版本中运行(JDK 8 LTS、JDK 11 LTS、JDK 12 - 不支持 Java 9 和 10),它作为 ZooKeeper 服务器的集合运行,三个 ZooKeeper 服务器是一个整体的最小推荐大小,我们还建议它们在不同的机器上运行。

1.2、ZooKeeper 集群强烈建议使用奇数台机器,例如,在四台机器上,ZooKeeper 只能处理一台机器的故障;如果两台机器发生故障,则其余两台机器不构成多数。但是,如果有五台机器,ZooKeeper 可以处理两台机器的故障。容错集群设置至少需要三台服务器。

1.3、通常三台服务器对于生产安装来说绰绰有余,但为了在获得最大的可靠性,您可能希望安装五台服务器。

1.4、官方网站:

https://zookeeper.apache.org/

1.5、下载地址:

https://downloads.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz

1.6、说明文档:

https://zookeeper.apache.org/doc/current/zookeeperAdmin.html

2、部署zookeeper集群,这里使用三台服务器组成集群模式。

操作系统:CentOS-7.x

ip地址:192.168.21.100,192.168.21.101,192.168.21.128

zookeeper默认使用2181端口,集群模式还会用到2888、3888端口,建议zookeeper部署在内网环境中,服务器上关闭防火墙,分别在三台服务器上操作。

2.1、安装Java

ZooKeeper依赖Java才能运行,首先安装Java环境,我们使用Java 1.8版本

Linux系统下安装Java JDK:https://www.osyunwei.com/archives/12872.html

2.2、安装ZooKeeper

mkdir -p /data/server/zookeeper  #创建安装目录

mkdir -p /data/server/zookeeper/data  #创建数据目录

mkdir -p /data/server/zookeeper/logs  #创建日志目录

下载目录:/usr/local/src/apache-zookeeper-3.8.1-bin.tar.gz

cd  /usr/local/src/

tar zxvf apache-zookeeper-3.8.1-bin.tar.gz -C /data/server/zookeeper --strip-components 1

#拷贝配置文件

cp /data/server/zookeeper/conf/zoo_sample.cfg   /data/server/zookeeper/conf/zoo.cfg

vi /data/server/zookeeper/conf/zoo.cfg #修改添加,注意端口等参数不要重复添加,否则启动失败

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/server/zookeeper/data  #数据目录

dataLogDir=/data/server/zookeeper/logs  #日志目录

clientPort=2181

#maxClientCnxns=60

#metricsProvider.exportJvmInfo=true

#admin服务配置

#admin.enableServer=true

#admin.serverPort=8088

4lw.commands.whitelist=*

#添加zookeeper节点

#服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)

#本机的地址也可以写成server.1=0.0.0.0:2888:3888

server.1=192.168.21.100:2888:3888

server.2=192.168.21.101:2888:3888

server.3=192.168.21.128:2888:3888

#添加访问权限,只允许以下ip读写访问

acl=127.0.0.1:rw

acl=localhost:rw

acl=192.168.21.0/24:rw

acl=192.168.1.0/24:rw

:wq!  #保存退出

#添加myid文件,每个节点的内容不同,分别对应server.1的这个数字1,server.2的这个数字2,server.3的这个数字3

echo "1" >/data/server/zookeeper/data/myid #192.168.21.100设置为1

echo "2" >/data/server/zookeeper/data/myid #192.168.21.101设置为2

echo "3" >/data/server/zookeeper/data/myid #192.168.21.128设置为3

vi /etc/profile  #配置环境变量

#set zookeeper environment

export ZOOKEEPER_HOME=/data/server/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

:wq! #保存退出

source /etc/profile #使配置立即生效

启动命令:/data/server/zookeeper/bin/zkServer.sh start

停止命令:/data/server/zookeeper/bin/zkServer.sh stop

重启命令:/data/server/zookeeper/bin/zkServer.sh restart

状态查看命令:/data/server/zookeeper/bin/zkServer.sh status

[root@localhost conf]# /data/server/zookeeper/bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /data/server/zookeeper/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost. Client SSL: false.

Mode: follower

ps -ef |grep zookeeper #查看进程

telnet 192.168.21.100 2181  #查看端口

vi /etc/rc.d/rc.local  #添加开机启动

/bin/sh  /data/server/zookeeper/bin/zkServer.sh start

:wq! #保存退出

#使用普通用户myuser启动,注意需要设置zookeeper的目录所有者为myuser用户

su - myuser -c "/bin/sh /data/server/zookeeper/bin/zkServer.sh start"

#默认/etc/rc.local没有执行权限,需要手动添加执行权限

chmod +x /etc/rc.d/rc.local

sh /data/server/zookeeper/bin/zkServer.sh start  #启动zookeeper,注意zookeeper集群需要所有节点同时启动

至此,Linux系统下部署ZooKeeper集群完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2024 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3