zoukankan      html  css  js  c++  java
  • Zookeeper-入门

    前提

      Zookeeper包含多个组件,有的组件支持多平台,有的组件只支持个别平台

       Zookeeper需要运行在java虚拟机上,需要安装JDK 7及以上

    下载

      Stable release

    单服务器

      配置文件

    # Zookeeper的时间单位是以毫秒为单位的,该属性用来做心跳,最小的会话超时将是tickTime的两倍
    tickTime=2000
    # CS通信时限,tickTime的倍数
    # 参数设定了允许所有跟随者与领导者进行连接并同步的时间,如果在设定的时间段内,半数以上的跟随者未能完成同步,领导者便会宣布放弃领导地位,进行另一次的领导选举
    # 如果zk集群环境数量确实很大,同步数据的时间会变长,因此这种情况下可以适当调大该参数。默认为10
    initLimit=10
    # FL同步时限,tickTime的倍数
    # 参数设定了允许一个跟随者与一个领导者进行同步的时间,如果在设定的时间段内,跟随者未完成同步,它将会被集群丢弃。所有关联到这个跟随者的客户端将连接到另外一个跟随着
    syncLimit=5
    # 存储内存数据库快照的位置,以及数据库更新的事务日志(除非另外指定)
    dataDir=/var/lib/zookeeper
    # 监听客户端连接的端口
    clientPort=2181
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1

      启动

    bin/zkServer.sh start  

    维护Zookeeper的存储

      对于长时间运行的生产环境,Zookeeper的存储必须有外部管理(dataDir、logs)

    连接Zookeeper

       http://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_ConnectingToZooKeeper

    Zookeeper集群化 

    tickTime=2000
    dataDir=/var/lib/zookeeper
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=zoo1:2888:3888
    server.2=zoo2:2888:3888
    server.3=zoo3:2888:3888
    

      server.X列出构成ZooKeeper服务的服务器,当服务器启动时,它通过在数据目录中查找文件myid来知道它是集群中的哪个服务器,该文件包含服务器号,用ASCII表示

      " 2888" and "3888":“2888”端口,节点连接其他节点将用到,该连接很有必要,这样才能保证各个节点之间的通讯,如协商更新操作的顺序,ZooKeeper服务器使用此端口将follower连接到leader,当新的leader出现时,follower使用这个端口打开到leader的TCP连接;"3888"端口,由于默认的leader选举也使用TCP,我们目前需要另一个端口进行leader选举,该端口将用到

    进一步提升性能的操作

      要获得较低的更新延迟,有一个专门的事务日志目录是很重要的。默认情况下,事务日志与数据快照和myid文件放在同一个目录中。dataLogDir参数表示事务日志存储的目录

      

  • 相关阅读:
    python中神之bug
    常用好的软件
    远程登录
    centos7改静态ip
    SpringMVC归纳
    mysql数据库操作手册
    MyBatis归纳
    Maven归纳
    maven操作手册
    java知识库
  • 原文地址:https://www.cnblogs.com/BINGJJFLY/p/12050573.html
Copyright © 2011-2022 走看看