走进大数据 | zookeeper-zookeeper的单节点及集群安装配置
Posted ItStar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了走进大数据 | zookeeper-zookeeper的单节点及集群安装配置相关的知识,希望对你有一定的参考价值。
本节介绍
在本节,会先进行单节点的安装配置,然后会演示搭建一个三个节点的zookeeper集群,并且会对一些相关的配置参数进行介绍。
zookeeper下载
zookeeper单节点安装
1,通过xftp将下载好的zookeeper包上传到你的Linux服务器上
2,解压缩,命令: tar -zxvf zookeeper-3.4.6.tar.gz
解压完成后会看到一个名为zookeeper-3.4.6的文件夹,进入到zookeeper的安装目录,可以看到目录结构,我们暂时只需要关注bin,conf,lib这些文件夹。
其中,bin目录存放的是zookeeper的一些命令脚本,conf存放的是zookeeper的配置文件,lib存放的是zookeeper的一些依赖的jar包。进入到bin目录,我们会看到有zkServer.sh(服务端启动脚本),zkCli.sh(zookeeper自带的客户端)
如果我们直接启动的话会启动不了,提示找不到zoo.cfg这个配置文件,我们需要进入到conf目录下,我们看到zk的配置文件名字是zoo_sample.cfg,我们需要执行 cp zoo_sample.cfg zoo.cfg 命令将其复制一份名为zoo.cfg。
单节点的zk不用修改配置,可以直接启动。当你看到Starting zookeeper ... STARTED,表示你的zookeeper服务已经启动成功了。我们可以用 jps 命令查询zookeeper启动是否正常(也可以用 ps -ef|grep zookeeper 命令查看),QuorumPeerMain这个进程就是zookeeper的进程。至此,zookeeper的单节点安装就成功了。
下面我们开始介绍zookeeper的三个节点的集群搭建(zookeeper集群节点数最少为3台,且尽量为奇数,至于为什么为奇数,暂时先记着这个是为了leader选举用,zookeeper选举的规则:leader选举,要求 可用节点数量 > 总节点数量/2 。注意 是 > , 不是 ≥)。
zookeeper集群安装
1、安装前准备:本次集群搭建我是采用Vmware 虚拟机搭建了三台centos服务器,机器ip分别为192.168.74.4(host为wkp4)、192.168.74.5(host为wkp5)、192.168.74.6(host为wkp6),在这三台服务器上先安装配置jdk,然后将zookeeper安装包分别上传到三台服务器上,解压缩,将zoo_sample.cfg复制一份改名为zoo.cfg(具体操作参考上文单节点安装,建议三台安装目录一致,方便配置)。建议不要用root用户,可以创建一个新用户,这里为了简单,就直接用root用户了。
2、创建数据、日志目录:解压缩zookeeper之后,进入zookeeper的安装目录,执行 mkdir -p zkData/data 创建目录存储zookeeper数据,执行mkdir -p zkData/log 创建目录存储zookeeper的日志(三台服务器上分别执行此操作)。
3、配置文件修改:修改之前,我们可以通过 less zoo.cfg 查看一下zookeeper的配置文件的默认配置信息。
配置信息说明:
tickTime: 基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发送一个心跳。
dataDir: 存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里(也可以配置dataLogDir指定日志目录,如果不配置的话默认把日志也放在dataDir目录里面)。
clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
initLimit: 这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
syncLimit: 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒
介绍完了默认配置之后,我们正式开始我们的集群配置 ,执行 vim zoo.cfg
我们可以看到变动的部分:
1、存储文件及日志目录变动:dataDir=/usr/local/zookeeper-3.4.6/zkData/data,dataLogDir=/usr/local/zookeeper-3.4.6/zkData/log
2、集群配置:
server.1=192.168.74.4:2888:3888
server.2=192.168.74.5:2888:3888
server.3=192.168.74.6:2888:3888
下面我们对集群的配置进行一个简单的介绍。
server.A = B:C:D :
A表示这个是第几号服务器,
C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader
配置好之后进行保存,然后通过scp命令将配置好的zoo.cfg复制到其他两台机器上。
scp /usr/local/zookeeper-3.4.6/conf/zoo.cfg root@192.168.74.5:/usr/local/zookeeper-3.4.6/conf/zoo.cfg
scp /usr/local/zookeeper-3.4.6/conf/zoo.cfg root@192.168.74.6:/usr/local/zookeeper-3.4.6/conf/zoo.cfg
我们在把三台服务器的zoo.cfg配置文件都配置好之后,我们需要创建一个文件,将我们上面给zookeeper服务器设置的编号写入文件里面。这个编号文件就是 /usr/local/zookeeper-3.4.6/zkData/data/myid ,我们需要在三台服务器上分别创建该文件,并将服务器对应的编号(1、2、3)分别写入进去。
server.1=192.168.74.4:2888:3888,所以在192.168.74.4这台机器上执行:
echo 1 > /usr/local/zookeeper-3.4.6/zkData/data/myid
server.2=192.168.74.5:2888:3888,所以在192.168.74.5这台机器上执行:
echo 2 > /usr/local/zookeeper-3.4.6/zkData/data/myid
server.3=192.168.74.6:2888:3888,所以在192.168.74.6这台机器上执行:
echo 3 > /usr/local/zookeeper-3.4.6/zkData/data/myid
至此,我们的zookeeper集群都已经配置完毕,下面我们就可以启动刚刚搭建好的热腾腾的zookeeper集群了。在三台机器上分别通过 zkServer.sh start 命令启动服务,待三台机器都启动完成后,我们通过zkServer.sh status 命令可以查看服务状态及在集群中的角色信息。
我们可以看到wkp6(192.168.74.6)这台机器被选举为leader,另外两台机器都是follower。
小编今天的分享就到这,大家可以在评论区畅所欲言了,欢迎留言
温馨提示
改变就在现在 资料免费拿
17310069471
获取您指定的学习资源,希望对您的发展有所帮助。
原文:https://blog.csdn.net/u012988901/article/details/82464939
以上是关于走进大数据 | zookeeper-zookeeper的单节点及集群安装配置的主要内容,如果未能解决你的问题,请参考以下文章