前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper02之集群环境搭建

Zookeeper02之集群环境搭建

作者头像
用户4919348
发布2019-04-02 11:11:36
3090
发布2019-04-02 11:11:36
举报
文章被收录于专栏:波波烤鸭

  在上文的基础上本文来介绍下zookeeper的集群搭建。准备环境如果不清楚的可以参考上文:

Zookeeper集群搭建

1.获取安装文件并解压

官网地址:http://zookeeper.apache.org/ 下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ Linux下载命令:

代码语言:javascript
复制
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
在这里插入图片描述
在这里插入图片描述

解压缩安装文件

代码语言:javascript
复制
tar -zxvf zookeeper-3.4.10.tar.gz

目录结构说明 cd命令进入解压文件夹

在这里插入图片描述
在这里插入图片描述

目录

说明

bin

存放的可执行文件 ,使用命令都在bin目录下面

conf

存放的配置文件

contrib

存放扩展包

dist-maven

Mvn编译后的目录

docs

存放文档

lib

存放jar包Zookeeper是使用Java开发的,会用到很多jar包都存放在lib目录下

recipes

案例demo代码

src

存放的是源代码

2.配置zoo.cfg文件

从上面的目录结构我们指定配置文件保存在conf目录下,所以我们cd到conf目录下

代码语言:javascript
复制
[root@hadoop-node01 zookeeper-3.4.10]# cd conf
[root@hadoop-node01 conf]# ll
总用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo_sample.cfg
[root@hadoop-node01 conf]# 

1.将zoo_sample.cfg重命名为zoo.cfg

代码语言:javascript
复制
[root@hadoop-node01 conf]# mv zoo_sample.cfg zoo.cfg
[root@hadoop-node01 conf]# ll
总用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo.cfg
[root@hadoop-node01 conf]# 

2.修改zoo.cfg配置文件

修改的地方有两处:

  1. 修改zookeeper存储数据的位置
  2. 添加集群节点信息
代码语言:javascript
复制
# 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=/root/app/zookeeper-3.4.10/zkData
dataLogDir=/root/app/zookeeper-3.4.10/zkLog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# 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=hadoop-node01:2888:3888
server.2=hadoop-node02:2888:3888
server.3=hadoop-node03:2888:3888

配置说明

配置项

说明

tickTime=2000

zookeeper里面最小的时间单位为2000ms

initLimit=10

Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了

syncLimit=5

在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题

dataDir

存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能

dataLogDir

事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能

clientPort

客户端连接server的端口,即对外服务端口 ,默认是2181

server.1

配置集群节点 hadoop-node01:2888:3888主机名, 心跳端口、数据端口 的格式

3.myid配置

在 zookeeper的数据的存储目录中创建 myid文件,本文既是zkData目录下,这个myid中的内容只有一行信息,即表示我们集群节点的标示,范围在1~255之间。每个节点中的myid的数字和我们在zoo.cfg中的server.数字=host…对应, 创建这块Data目录:

代码语言:javascript
复制
mkdir zkData

创建myid并设置值为1(hadoop-node01节点)

代码语言:javascript
复制
[root@hadoop-node01 zookeeper-3.4.10]# echo 1 > zkData/myid
[root@hadoop-node01 zookeeper-3.4.10]# cat zkData/myid
1

4.分发安装文件

将我们hadoop-node01上安装配置的环境分发到hadoop-node02和hadoop-node03两个节点相同的目录下:

代码语言:javascript
复制
scp -r zookeeper-3.4.10 hadoop-node02:`pwd`
scp -r zookeeper-3.4.10 hadoop-node03:`pwd`

确认分发成功后分别修改hadoop-node02和hadoop-node03上的myid的值分别为2,3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.启动

分别在三个节点的zookeeper的安装根目录下执行如下启动命令:

代码语言:javascript
复制
./bin/zkServer.sh start
在这里插入图片描述
在这里插入图片描述

查看状态,分别在每个节点上执行

代码语言:javascript
复制
./bin/zkServer.sh status

hadoop-node01

在这里插入图片描述
在这里插入图片描述

hadoop-node02

在这里插入图片描述
在这里插入图片描述

hadoop-node03

在这里插入图片描述
在这里插入图片描述

说明启动成功

6.测试

我们将zookeeper集群节点半数存活即可用,我们现在是3个节点,那么我们kill掉一个节点应该还可以继续使用,kill掉两个就不能够使用了。所以我们来测试下

查看zookeeper进程编号

通过jps命令即可查看

代码语言:javascript
复制
[root@hadoop-node02 zookeeper-3.4.10]# jps
1559 QuorumPeerMain #这个是zookeeper的服务
1646 Jps

kill 掉这个节点,也就是leader节点

代码语言:javascript
复制
[root@hadoop-node02 zookeeper-3.4.10]# jps
1559 QuorumPeerMain
1646 Jps
[root@hadoop-node02 zookeeper-3.4.10]# kill -9 1559
[root@hadoop-node02 zookeeper-3.4.10]# jps
1668 Jps

再次查看另外两个节点情况

hadoop-node01

在这里插入图片描述
在这里插入图片描述

hadoop-node03

在这里插入图片描述
在这里插入图片描述

hadoop-node03变成了leader节点了。

再次将leader节点kill掉

再次将leader节点kill掉,也就是将3个集群节点中的两个kill掉后发现集群不可用了。

代码语言:javascript
复制
[root@hadoop-node03 zookeeper-3.4.10]# jps
1237 QuorumPeerMain
1325 Jps
[root@hadoop-node03 zookeeper-3.4.10]# kill -9 1237
[root@hadoop-node03 zookeeper-3.4.10]# 

查看hadoop-node01

在这里插入图片描述
在这里插入图片描述

至此集群的搭建完成,下篇介绍具体的zookeeper操作~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年02月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zookeeper集群搭建
    • 1.获取安装文件并解压
      • 2.配置zoo.cfg文件
        • 1.将zoo_sample.cfg重命名为zoo.cfg
        • 2.修改zoo.cfg配置文件
      • 3.myid配置
        • 4.分发安装文件
          • 5.启动
            • 6.测试
              • 查看zookeeper进程编号
              • 再次查看另外两个节点情况
              • 再次将leader节点kill掉
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档