zoukankan      html  css  js  c++  java
  • zookeeper集群搭建

    一、环境准备

    CentOS7.3,zookeeper-3.4.14,jdk1.8
    zookeeper下载地址

    二、开始搭建

    • 搭建之前,配置好JDK的环境
    • 安装zookeeper
      通过FTP将zookeeper上传到服务器上
    tar -zxvf zookeeper-3.4.16.tar.gz
    
    重命名
    mv zookeeper-3.4.16 zookeeper1
    
    创建data文件夹和log文件夹
    mkdir data
    mkdir logs
    
    将zookeeper/conf目录下的zoo_sample.cfg重命名为zoo.cfg
    mv zoo_sample.cfg zoo.cfg
    
    修改zoo.cfg文件。配置节点1
    vim zoo.cfg
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/yangk/zk/zookeeper1/data
    dataLogDir=/yangk/zk/zookeeper1/logs
    clientPort=2181
    server.1=192.168.100.151:2888:3888  
    server.2=192.168.100.151:2889:3889
    server.3=192.168.100.151:2890:3890
    保存
    
    进入到刚刚创建的data目录下面
    cd data/
    创建一个myid文件。写入对应的服务编号
    vm myid
    1
    
    这样第一个节点就配置完成
    将节点1在复制两份
    cp -r zookeeper1 zookeeper2
    cp -r zookeeper1 zookeeper3
    
    配置节点2
    进入zookeeper2/conf目录下修改zoo.cfg
    vim zoo.cfg
    #替换这三个配置
    clientPort=2182
    dataDir=/yangk/zk/zookeeper2/data
    dataLogDir=/yangk/zk/zookeeper2/logs
    
    保存进入data目录下,配置对应的节点编号
    cd data/
    vi myid
    2
    
    保存进入节点三
    进入zookeeper3/conf目录下修改zoo.cfg
    vim zoo.cfg
    #替换这三个配置
    clientPort=2183
    dataDir=/yangk/zk/zookeeper3/data
    dataLogDir=/yangk/zk/zookeeper3/logs
    
    保存进入data目录下,配置对应的节点编号
    cd data/
    vi myid
    3
    

    3、启动集群

    进入各个节点/bin目录下

    ./zkServer.sh start
    
    查看启动状态,可以看到谁是主节点和从节点
    ./zkServer.sh status
    
    关闭zookeeper
    ./zkServer.sh stop
    
    查看进程
    Jps
    查看端口
    netstat -lntp |grep java
    

    4、集群是否同步

    进入客户端创建一个节点看是否同步过去

    ./zkCli.sh -server 192.168.100.151:2181
    
    查看当前有哪些节点
    ls
    
    创建一个节点
    create /data test-data
    
    退出客户端
    quit
    


    5、配置参数详解

    • tickTime=2000
      tickTime 这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
    • initLimit=10
      initLimit 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
    • syncLimit=5
      syncLimit 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒。
    • dataDir
      dataDir 顾名思义就是Zookeeper 保存数据的目录,默认情况下Zookeeper 将写数据的日志文件也保存在这个目录里
    • clientPort=2181
      clientPort 这个端口就是客户端(应用程序)连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口接受客户端的访问请求。
  • 相关阅读:
    hdu 1695 GCD(欧拉函数+容斥)
    hdu 5072 Coprime (容斥)
    hdu 4135 Co-prime(容斥)
    畅通工程,继续畅通工程,畅通工程再续,多种解法
    Palindrome
    括号匹配(二)(动态规划)
    搬寝室(动态规划)
    Common Subsequence(lcs)
    周赛题解
    亲和串(两种方法妙解)
  • 原文地址:https://www.cnblogs.com/yangk1996/p/12656591.html
Copyright © 2011-2022 走看看