zoukankan      html  css  js  c++  java
  • CentOS6.3搭建ZooKeeper伪集群

    1. 将zookeeper安装包移动至/home, 解压后改名为zookeeper

    相关命令

    # 解压
    tar –zxvf zookeeper-3.4.6.tar.gz
    # 重命名
    mv zookeeper-3.4.6 zookeeper

    2. 进入zookeeper/conf/目录下,将改目录下的zoo_sample.cfg配置文件拷贝4份,依次为zoo.cfg  zoo1.cfg  zoo2.cfg  zoo3.cfg

    zoo.cfg为备份文件, 我们将使用zoo1.cfg  zoo2.cfg  zoo3.cfg来搭建ZooKeeper伪集群

    3. 使用vim编辑zoo1.cfg  zoo2.cfg  zoo3.cfg

    zoo1.cfg修改内容如下:

    zoo2.cfg修改内容如下:

    zoo3.cfg修改内容如下:

    4.dataDir目录开始不存在,需要手动创建,并在各data文件下创建名为myid的文件,文件内容对应服务器编号 

    分别创建下面三个文件

    /home/tmp/zookeeper/server1/data/myid
    /home/tmp/zookeeper/server2/data/myid
    /home/tmp/zookeeper/server3/data/myid

    三个文件内容分别为

    echo 1 > /home/tmp/zookeeper/server1/data/myid
    echo 2 > /home/tmp/zookeeper/server2/data/myid
    echo 3 > /home/tmp/zookeeper/server3/data/myid

    5. 分别启动三个zookeeper

    bin/zkServer.sh start zoo1.cfg
    bin/zkServer.sh start zoo2.cfg
    bin/zkServer.sh start zoo3.cfg

    6. 查看三个zookeeper状态

    bin/zkServer.sh status zoo1.cfg
    bin/zkServer.sh status zoo2.cfg
    bin/zkServer.sh status zoo3.cfg

    三个zookeeper的关系如图所示

    7. 测试连通性

    测试server2(leader,其他服务同理)是否连通

    ./zkCli.sh -server 127.0.0.1:2182

    效果如图所示:

    8. 使用Java客户端连接Zookeeper

     1 /**
     2  * Created by IntelliJ IDEA.
     3  *
     4  * @Auther: ShaoHsiung
     5  * @Date: 2018/9/8 21:34
     6  * @Title:
     7  * @Description: Java客户端无法连接Zookeeper是因为Linux上的防火墙没有关闭
     8  */
     9 public class ZookeeperDemo {
    10 
    11     private static final String CONNECTION_STRING = "192.168.131.25:2181";
    12     private static final int SESSION_TIMEOUT = 5000;
    13 
    14     private static CountDownLatch latch = new CountDownLatch(1);
    15 
    16     public static void main(String[] args) throws IOException, InterruptedException {
    17         ZooKeeper zk = new ZooKeeper(CONNECTION_STRING, SESSION_TIMEOUT, new Watcher() {
    18             public void process(WatchedEvent watchedEvent) {
    19              if (watchedEvent.getState() == Event.KeeperState.SyncConnected) {
    20                  latch.countDown();
    21              }
    22             }
    23         });
    24         latch.await();
    25 
    26         // 获取Zookeeper客户端
    27         System.out.println(zk);
    28     }
    29 }

    9. 执行效果

    备注: 需要先关闭Linux上的防火墙, 否则Java客户端无法连接到Linux上的ZooKeeper

    附上Linux临时操作防火墙命令

    即时生效,重启后失效

    开启:service iptables start

    关闭:service iptables stop

  • 相关阅读:
    Flink 多流转换算子
    Flink 基本算子map、keyBy、sum、reduce
    Scala 调用方法时加不加小括号
    Hive rank函数开窗
    Hive 窗口函数
    Scala 集合Map的基本操作
    LOJ#2402. 「THUPC 2017」天天爱射击 / Shooting 整体二分+树状数组
    LOJ#106. 二逼平衡树 树套树
    LOJ#2340. 「WC2018」州区划分
    LOJ#2304. 「NOI2017」泳池(70pts) dp
  • 原文地址:https://www.cnblogs.com/shaohsiung/p/9612957.html
Copyright © 2011-2022 走看看