Zookeeper集群环境搭建


1.准备2n+1台相互连通的虚拟机

2n+1是为了方便zookeeper的leader选举策略

2.卸载自带的openjdk并安装oracle JDK

先查看 rpm -qa | grep java

显示如下信息:

    java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

    java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

卸载:

    rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

    rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

安装JDK:

将JDK的.tar.gz文件下载到自己选择的目录,并用命令tar zxvf jdk-8u151-linux-x64.tar.gz进行解压,得到jdk1.8.0_181

下面配置JDK环境变量,在/etc/profile文件末尾添加(假设JDK安装路径为/export/server/)

export JAVA_HOME=/export/server/jdk1.8.0_181

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=${JAVA_HOME}/bin:$PATH

3.检测集群的机器时间是否同步

所有台机器同时输入date命令,如果不同需要修改为相同。

4.关闭防火墙

//临时关闭

systemctl stop firewalld

//禁止开机启动

systemctl disable firewalld

//查看防火墙状态

firewall-cmd --state

5.下载并解压ZooKeeper

同jdk的安装一样,最后需要配置环境变量

export ZOOKEEPER_HOME=/export/server/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

6.修改ZooKeeper配置文件

zookeeper的配置文件在/zookeeper/conf下面,里面有一个zoo_sample.cfg的样例配置文件,拷贝此文件并改名为zoo.cfg(如果未指定配置文件,zookeeper默认将zoo.cfg作为配置文件),将zoo.cfg修改为

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/export/data/zkdata

# the port at which the clients will connect

clientPort=2181

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=192.168.159.128:2888:3888

server.2=192.168.159.129:2888:3888

server.3=192.168.159.130:2888:3888

其中需要将dataDir(用于表示存储数据的地址)修改为自己想要存储数据的地址。然后需要在最后加上集群的所有机器的信息

按照格式填写编号id,ip地址,两个端口号依次为心跳端口和选举端口

在dataDir所指定的地址创建一个名字为myid的文件,文件的内容为填写的id,比如上述编号id为1的机器的myid文件内容为1

7.开启服务

使用zkServer.sh start开启服务(在配置了环境变量的基础上,否则需要完整路径)

开启所有机器的服务后,可分别使用zkServer.sh status查看本节点的状态follower或者leader

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

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,953评论 19 139
  • 1.查看磁盘信息 sudo fdisk -l 2.挂载U盘 fat32格式:sudo mount -t vfat ...
    Joiant阅读 1,283评论 0 0
  • 本内容来自某本书。 Chp1 Hello World! 本章是全书的第一章,本章会向你介绍开始学习 Java 之前...
    sunnysans阅读 3,520评论 0 1
  • 1、使用移动组件库mint-ui Mint UI是基于Vue.js的移动组件库,有很多可以使用,参考这里 使用时首...
    veb001阅读 2,849评论 0 0
  • 鉴黄师,这个神奇的职业 江湖难觅他们的身影 但却流传着关于他们的传说 …… ▼ 一年前的今天,毕业不久的小姜来到某...
    工作狂人XKD阅读 3,961评论 0 0

友情链接更多精彩内容