Centos7环境下搭建zookeeper集群


一、简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。

它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。[摘自百度百科]

官网:http://zookeeper.apache.org/

二、安装环境

Host IP 版本 端口 Usage OS
server.1 192.168.2.154 zookeeper3.4.14 2181 1(myid) centos7
server.2 192.168.2.155 zookeeper3.4.14 2181 1(myid) centos7
server.3 192.168.2.156 zookeeper3.4.14 2181 1(myid) centos7

三、安装步骤

1、下载zookeeper并解压

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
上传文件到服务器:

解压到/usr/local目录下:

tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local

2、编辑配置文件

进入conf目录,cp生成一个zk能识=识别的配置文件名:zoo.cfg,如下:

3、创建data和logs存放数据和日志的文件夹



4、修改配置文件zoo.cfg:


其他两台服务器的配置和这个一样。

5、添加myid文件:

除了修改 zoo.cfg 配置文件,集群模式下还要新增一个名叫myid的文件,这个文件放在上述dataDir指定的目录下,这个文件里面就
只有一个数据,就是上图配置中server.x的这个x(1,2,3)值,zookeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面
的配置信息比较从而判断到底是那个server(节点)。

6、启动节点

切换到bin目录下查看一下:

启动方法查看:

启动节点1:

同样的方法启动节点2和节点3

启动后,会在当前bin目录下生成一个日志zookeeper.out,如果启动不成功里面会有错,可供排错使用。

7、查看节点状态:

当三台节点都启动完毕后可以查看他们各自在集群中的状态:



至此,zookeeper集群部署成功。

排错:如果查看集群状态的时候报“Error contacting service. It is probably not running.”请检查防火墙是不是阻挡了contacting。

8、zookeeper客户端使用

使用bin目录下的客户端登录脚本:zkCli.sh

比方说:登录、查看、退出。

[root@server-1 bin]# ./zkCli.sh -server 192.168.1.21:2181      //连本地节点
[root@server-1 bin]# ./zkCli.sh -server 192.168.1.21        //不带端口就采用默认2181端口
[root@server-1 bin]# ./zkCli.sh                  //不带参数回车默认连接本地IP和2181端口
[root@server-1 bin]# ./zkCli.sh -server 192.168.1.22        //也可以连接节点2的zk

登录后操作:

客户端连接后,用get / 命令可以发现此时只有zookeeper一项;如果此Zookeeper用于对Kafka或JStorm等提供服务

9、集群测试

这里就模拟断掉”leader”节点——3,另外两台会通过之前设定的3883这个端口来重新选举leader,结果如下:


文章作者: Beck Liang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Beck Liang !
 上一篇
linux中安装nginx linux中安装nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
2024-12-05
下一篇 
VirtualBox复制虚拟机 VirtualBox复制虚拟机
在Virtual Box上安装好一台虚拟机后,如果能把虚拟机的硬盘文件(VDI文件)复制一份是不是就又有了一台全新的操作系统啦?这样可以省去几十分钟的安装时间呢,答案是肯定的,但是这个复制过程需要一个小技巧,复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有一个唯一的uuid,而VirtualBox不允许注册重复的uuid.
2024-12-03
  目录