centos7下zookeeper集群安装部署

centos7下zookeeper集群安装部署

 

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

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

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

 

安装环境:Zookeeper集群最好至少安装3个节点,这里端口采用默认zookeeper默认端口:2181

     

     

安装步骤

 1. 下载zookeeper并解压

  官网推荐下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

   ~]# tar -zxvf zookeeper-3.4.11.tar.gz -C /opt/     //这里解压至/opt目录中使用

   

 2. 编辑配置文件

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

   [root@server-1 conf]# cp zoo_sample.cfg  zoo.cfg 

  

  修改配置文件zoo.cfg,如下:

   [root@server-1 conf]# vim zoo.cfg 

  

  保存,退出;

  三台节点配置一样,其他两台略。

 3. 添加myid文件

  说明:除了修改 zoo.cfg 配置文件,集群模式下还要新增一个名叫myid的文件,这个文件放在上述dataDir指定的目录下,这个文件里面就

     只有一个数据,就是上图配置中server.x的这个x(1,2,3)值,zookeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面

     的配置信息比较从而判断到底是那个server(节点)。

  

  

  

 4. 启动节点

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

  

  启动方法查看:

  

  启动节点1:

   [root@server-1 bin]# ./zkServer.sh start     // 默认会到同级目录conf中寻找zoo.cfg文件,所以默认不用加配置文件

  

  同样的,启动节点2,节点3:

   [root@server-2 bin]# ./zkServer.sh start 

     [root@server-3 bin]# ./zkServer.sh start 

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

 5. 查看节点状态

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

   [root@server-1 bin]# ./zkServer.sh status 

   

   

   

  至此,zookeeper集群部署成功。

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

  

 

 6. 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等提供服务,

     则还会有相应的其他目录,后面在介绍kafka时会有相关内容。

     kafka集群安装:http://www.cnblogs.com/ding2016/p/8282907.html

 7. 集群测试

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

  

  

 

 
 
posted @ 2024-07-10 17:48  满Sir  阅读(73)  评论(0编辑  收藏  举报