• zookeeper安装


    zookeeper描述


    ZooKeeper是用Java编写的,运行在Java环境上,因此,在部署zk的机器上需要安装Java运行环境。为了正常运行zk,我们需要JRE1.6或者以上的版本。
    对于集群模式下的ZooKeeper部署,3个ZooKeeper服务进程是建议的最小进程数量,而且不同的服务进程建议部署在不同的物理机器上面,以减少机器宕机带来的风险,以实现ZooKeeper集群的高可用。
    ZooKeeper对于机器的硬件配置没有太大的要求。例如,在Yahoo!内部,ZooKeeper部署的机器其配置通常如下:双核处理器,2GB内存,80GB硬盘


    一、下载包

    地址: 从https://zookeeper.apache.org/releases.html 下载ZooKeeper

    二、配置文件说明及修改

    ZooKeeper软件的文件和目录说明

    • bin目录
      zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。
    • conf目录
      配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。
    • lib
      zk依赖的包。
    • contrib目录
      一些用于操作zk的工具包。
    • recipes目录
      zk某些用法的代码示例

    集群模式

    集群说明:至少需要3个集群节点,可在单机部署多个zookeeper,但是端口必须不同。生产集群模式无非就是实例IP地址不同,搭建方法无异同

    步骤1:部署java环境

    此步步骤省略

    步骤2:下载并解压zookeeper安装包

    cd /home/data/
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz
    tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz zookeeper
    

    步骤3:复制配置示例,并修改配置文件

    cd conf
    cp conf/zoo_sample.cfg conf/zoo-1.cfg
    
    

    配置说明

    # The number of milliseconds of each tick
    #  Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔
    tickTime=2000
    # The number of ticks that the initial
    # synchronization phase can take
    # Leader 的 Follower 服务器初始化连接时最长能忍受多少个心跳时间间隔数
    initLimit=10
    # The number of ticks that can pass between
    # sending a request and getting an acknowledgement
    # 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10秒
    
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just
    # example sakes.
    
    #数据和日志目录
    dataDir=/home/data/zookeeper/dataDir
    dataLogDir=/home/data/zookeeper/dataLogDir
    # the port at which the clients will connect
    
    #监听端口号,如果有多个zookeeper实例部署在同一台机器上,这个端口必须唯一
    clientPort=2182
    
    #admin端口,如果有多个zookeeper实例部署在同一台机器上,这个端口必须唯一
    
    admin.serverPort=8081
    
    #zookeeper cluster
    
    #集群配置 
    
    server.1=192.168.186.101:2889:3889
    
    server.2=192.168.137.78:2889:3889
    
    server.3=192.168.137.79:2889:3889
    
    #server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
    
    # 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
    

    步骤4:分别于上台集群服务器创建标识serverID和对应目录

    mkdir -p /home/data/zookeeper/{dataDir,dataLogDir}
    #下面的数字对应上一步server.*
    touch 1 > /home/data/zookeeper/dataDir/myid
    
    

    步骤5:分别启动zookeeper

    cd bin
    ./zkServer.sh start
    

    步骤6:检查集群

    # 其中一台选举成leader
    $./zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
    Client port found: 2182. Client address: localhost.
    Mode: leader
    
    # 另外两台被选举成follower
    $./zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
    Client port found: 2182. Client address: localhost.
    Mode: follower
    
    
  • 相关阅读:
    隆重推出PowerDesinger 12.1.0.1913破解补丁
    Glowcode 6.0 破解手记,.Net IL技术
    爬虫如何抓取到Asp.Net中__doPostBack获取新页面的数据
    谁是股市上的最大受益者
    带强名的.net程序反向工程后汇编中的问题总结
    让所有的实体店成为网店的体验店
    推出网站大鱼搜索
    利用搜索引擎技术抢注域名
    在程序中显示PDF文件不依赖于Arcobat Reader的PDF阅读器开发
    用开源Carrot2的后缀树算法做Web文本聚类
  • 原文地址:https://www.cnblogs.com/cnhope/p/12059463.html
Copyright © 2020-2023  润新知