zookeeper的安装与配置(单机版与集群版)

前言

dubbo作为现在使用的比较多的分布式框架,它推荐zookeeper作为注册中心,并且zookeeper也是hbase、hadoop的一部分,我们有必要了解一下zookeeper,最起码也得知道zookeeper的一些简单使用。
本文主要介绍在linux环境下zookeeper的安装、配置。不过貌似公司也不会在windows环境下使用zookeeper吧。zookeeper的使用包括单机版与集群版,接下来就开始zookeeper的安装。

一、zookeeper单机版的配置

安装前的准备:

因为是介绍linux环境下zookeeper的安装与使用,那么肯定离不开linux环境咯,这里我用的是vmware虚拟机,centOS7。
zookeeper安装包。
此外,zookeeper的使用是要有Java环境的,因此JDK也是不可缺少的。这些准备完之后就可以开始了。

首先创建zookeeper的用户名与密码:

useradd zookeeper
passwd zookeeper

配置Java环境:

解压JDK压缩包:

tar -xzvf jdk-8u131-linux-x64.tar.gz

在这里插入图片描述

可以看到,jdk已经解压完毕,cd进入jdk文件夹,pwd打印当前文件夹所在的位置,这个很重要,配置jdk是需要jdk的路径位置的。

vi .bash_profile 编辑文件

在这里插入图片描述
按照图中信息进行配置,注意:JAVA_HOME=****是配置的你的jdk文件所在的路径的。

. .bash_profile 让刚才的置生效。注意,是两个点

查看jdk是否安装好:

在这里插入图片描述
如果出现了这样的情况,说明Java环境已经是有了,可以安装zookeeper了。

解压zookeeper:

tar -xzvf zookeeper-3.4.10.tar.gz

解压完zookeeper之后,进入zookeeper的/conf文件夹下:

在这里插入图片描述
复制一份zoo_sample.cfg

cp zoo_sample.cfg zoo.cfg

返回zookeeper的根目录创建一个data,这个data是以后存放zookeeper的一些数据的内存快照、日志之类的信息。

在这里插入图片描述我们要知道这个data的路径,这个在接下来的zookeeper的配置中是要使用到的:
在这里插入图片描述
保留这个路径地址,回到conf中,编辑zoo.cfg:

在这里插入图片描述
在这个dataDir后面配置刚刚的data目录的位置。注意:是你linux环境下的位置,不是我的。

如果之前的操作没啥问题,那么zookeeper就可以使用了,我们去到bin目录下,

./zkServer.sh start

启动服务端,怎么看服务端启动好了呢?

./zkServer.sh status

出现这样的情况就是服务端启动成功:
在这里插入图片描述

在bin下有个zkCli.sh,通过使用他,我们就可以登录客户端使用zookeeper了:
在这里插入图片描述

在这里插入图片描述出现这样的情况就说明客户端启动完成,可以开始使用了。

PS:按照步骤一步一步来的话,正常情况下是没啥问题的,不过计算机与计算机的体质是不一样的,有的计算机可以在极端情况下直接死机,如果出现了啥问题,可以查看日志来找下问题:

在这里插入图片描述
vi zookeeper.out就可以查看日志了。

二、zookeeper集群版的配置

zookeeper集群中服务器的数量为奇数个,至于为什么是奇数个,以后的文章会介绍到为啥是奇数个。
我们是在一个虚拟机上模拟zookeeper集群的搭建,所以将之前的zookeeper文件复制三份:
在这里插入图片描述
一定要注意啊,这个是你的linux上zookeeper文件的地址,不要直接使用我的文件地址。文件地址查看:pwd。

建议开启三个窗口连接虚拟机。

既然是三个服务器,设置了三个不同的端口,因此我们需要对每个服务器进行设置:首先是第一个,我们进入zookeeper2181文件(注意是复制后的zookeeper2181,不是之前的那个zookeeper文件了),进入到conf文件夹,修改zoo.cfg
在这里插入图片描述
这三个地方是需要注意的,dataDir是你的data文件的位置。
clientPort是端口号,我们这次设置三个服务端,分别是2181、2182、2183,这是第一个服务器,我们设置为2181。

server.是对应的第几个服务器的配置,如果是五个服务器,那么你就应该改成五行配置了。
server.
=A:B:C(A是你的虚拟机的IP地址,B是zookeeper服务器之间的通信端口,C是Leader选举的端口)
配置完之后,保存退出。来到data文件夹中,使用下面的命令:

echo “1” >myid

这个是在data文件夹中生成一个myid的文件,并写入值:1。

这个myid是很重要的,关乎到zookeeper的leader选举。这样第一个服务器就配置好了。
记得将文件夹中的
version-2
zookeeper_server.pid
都删除掉。
在其余的两个服务器中配置相应的信息,因为是一个虚拟机,所以我建议创建三个会话去连接虚拟机,就像我的这样:
在这里插入图片描述
完全是木有啥问题的。
第二个与第三个的配置其实都差不多,
在这里插入图片描述像第二个服务器,这个修改为2即可,第三个修改为3就OK。还有myid:第二个设置为2,第三个设置为3。
在这里插入图片描述

这样zookeeper集群就搭建好了,启动服务端:

./zkServer.sh start

在这里插入图片描述
看到这里,说明服务端已经启动了(服务端启动需要花费点时间,如果出现了错误,可能是正在启动)。
每个服务器节点可能是跟随者,也可能是领导者或者是观察者,这点会在接下来的文章讲一下关于zookeeper的领导者选举ZAB算法。

三个服务器节点启动之后,我们如何登录客户端呢?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三个客户端分别连接三个服务端,连接成功的标志就是:
在这里插入图片描述
这个时候zookeeper集群就已经创建完成并且可以使用了,接下来就可以快乐地使用zookeeper了。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值