zoukankan      html  css  js  c++  java
  • zookeeper集群环境安装配置

      众所周知,Zookeeper有三种不同的运行环境,包括:单机环境、集群环境和集群伪分布式环境

      在此介绍的是集群环境的安装配置

    一、下载:

    http://apache.fayea.com/zookeeper/current/

    二、解压:

    tar zxvf zookeeper-3.4.7.tar.gz

    个人喜欢将解压后文件名更改为 zookeeper

    三、修改配置:

    在Zookeeper集群环境下只要一半以上的机器正常启动了,那么Zookeeper服务将是可用的。

    因此,集群上部署Zookeeper最好使用奇数台机器,这样如果有5台机器,只要3台正常工作则服务将正常使用。

    进入zookeeper/conf:

    $:cp zoo_sample.cfg zoo.cfg

    $:vim zoo.cfg

    可参照下图:

    1

    上图的配置中h1、h2、h3分别为主机名,具体的对应的主机可参见Hadoop的安装与配置的博文。

    在上面的配置文件中"server.id=host:port:port"中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port是进行leadership选举的端口号。

    接下来在dataDir所指定的目录下创建一个文件名为myid的文件,文件中的内容只有一行,为本主机对应的id值,也就是上图中server.id中的id。

    $:echo 1 > /root/software/zookeeper/data/myid

    h1机器的内容为1,h2机器的内容为2,h3机器的内容为3,若有更多依此类推。

    注:

    dataDir:数据目录

    dataLogDir:日志目录

    clientPort:客户端连接端口

    tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

    initLimit:Zookeeper的Leader 接受客户端(Follower)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是tickTime)长度

                      后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒

    syncLimit:表示 Leader 与 Follower 之间发送消息时请求和应答时间长度,最长不能超过多少个tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。

    四、启动与停止

    启动:

    bin/zkServer.sh start

    停止:

    bin/zkServer.sh stop

     2

    如上图为正常启动。其中,QuorumPeerMain是zookeeper进程。

    依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower)

    如下所示,是在ZooKeeper集群中的每个结点上查询的结果:

    3

    4

    5

    通过上面状态查询结果可见,h2是集群的Leader,其余的两个结点是Follower

  • 相关阅读:
    搜狗图片抓取,主要以图集类进行抓取
    使用mongo进行去重操作
    爬虫实战01_淘宝模拟登录
    Linux常用命令02(远程管理)
    Linux常用命令01(文件和目录)
    Linux终端命令格式
    常用Linux命令的基本使用
    闭包与私有变量
    三栏布局的几种方法
    redux和react-redux小记
  • 原文地址:https://www.cnblogs.com/yinchengzhe/p/5091892.html
Copyright © 2011-2022 走看看