1.zookeeper集群安装

1、准备

1.1、准备三台主机

zookeeper集群主机数建议是奇数2n+1,因此最少3台。

主机名 主机ip
learn1 192.168.31.200
learn2 192.168.31.201
learn3 192.168.31.202

1.2、安装jdk

安装jdk8,并且配置JAVA_HOME

1.3、下载zookeeper

从官网上下载zookeeper,https://zookeeper.apache.org/
我本次下载版本:apache-zookeeper-3.7.0-bin.tar.gz

2、安装第一台

2.1、部署zookeeper

(1)上传zookeeper,并解压

$ cd /home/wentian/app/zookeeper
$ tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

(2)创建软连接

$ cd /home/wentian/app/zookeeper
$ ln -s apache-zookeeper-3.7.0-bin zookeeper3

注:通过软连接方式,是将来如果需要升级zookeeper等,直接改软连接重新指向即可。

2.2、创建实例目录

$ mkdir -p /home/wentian/zookeeper
$ cd /home/wentian/zookeeper
$ mkdir data     #数据目录
$ mkdir log       #日志目录
$ mkdir sh        #脚本目录
$ mkdir conf     #配置目录

2.3、配置

(1)从zookeeper样例配置文件拷贝

$ cd /home/wentian/app/zookeeper/zookeeper3/conf
$ cp zoo_sample.cfg /home/wentian/zookeeper/conf/zoo.cfg

(2)修改配置文件zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5

dataDir=/home/wentian/zookeeper/data
clientPort=2181
maxClientCnxns=600
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

server.1=192.168.31.200:2188:3188
server.2=192.168.31.201:2188:3188
server.3=192.168.31.202:2188:3188

其中
server配置说明:

格式:server.x=ip:port1:port2
x:服务器编号myid
ip:服务器ip地址
port1:服务器与集群中的 Leader 服务器交换信息的端口
port2:Leader服务器挂了,通过该端口重新选举Leader

(3)配置服务器myid
在dataDir目录下配置myid,该myid就是上面server.x中的x

$ cd /home/wentian/zookeeper/data
$ touch myid
$ echo "1" > myid

2.4、创建脚本

(1)启动脚本
/home/wentian/zookeeper/sh/start.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log
export JVMFLAGS="-Dtarget=zookeeper"
export JAVA_HOME=/home/wentian/app/java/jdk8

${ZOOKEEPER_HOME}/bin/zkServer.sh start ${WORK_HOME}/conf/zoo.cfg

(2)停止脚本
/home/wentian/zookeeper/sh/stop.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log

${ZOOKEEPER_HOME}/bin/zkServer.sh stop ${WORK_HOME}/conf/zoo.cfg

(3)状态查看脚本
/home/wentian/zookeeper/sh/status.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log

${ZOOKEEPER_HOME}/bin/zkServer.sh status ${WORK_HOME}/conf/zoo.cfg

(4)zookeeper访问脚本
/home/wentian/zookeeper/sh/visit.sh

ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3

${ZOOKEEPER_HOME}/bin/zkCli.sh -server 192.168.31.200:2181,192.168.31.201:2181,192.168.31.202:2181

3、继续安装其他两台

除了配置服务器编号myid不同以外,其他都相同

4、启动zookeeper

依次启动三台zookeeper

$ sh /home/wentian/zookeeper/sh/start.sh

5、查查看zookeeper实例的状态

执行status.sh,查看zookeeper实例状态

$ sh /home/wentian/zookeeper/sh/status.sh

zookeeper实例状态查看结果:
机器1:

[wentian@learn1 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

机器2:

[wentian@learn2 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

机器3:

[wentian@learn3 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容