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

    zookeeper集群只有满足“半数以上服务器存货”才能继续工作,因此zookeeper集群中的服务器数量应该是奇数(2n+1)台,因此一个生产环境中,最少的zookeeper集群节点是3个。

    本例安装3个zookeeper集群节点,并假设3个节点机器的主机名分别为zk1,zk2,zk3。配置文件如下(zoo.cfg文件):

    tickTime=2000
    dataDir=/home/usr/local/zookeeper/data
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=zk1:2888:3888
    server.2=zk2:2888:3888
    server.3=zk3:2888:3888

    参数含义如下:

    tickTime:zookeeper最小的时间单位,用户丈量心跳时间和超时时间等,通常设置成默认的2秒即可;
    dataDir:非常重要的参数!zookeeper会在内存中保存系统快照,并定期写入该路径指定的文件夹中。生产环境中需要注意该文件夹的磁盘占用情况
    clientPort:zookeeper监听客户端连接的端口,使用默认的2181;
    initLimit:指定follower节点初始连接leader节点的最大tick次数,假设是5,则表示follower节点必须在5*tickTime时间内(10s)连接上leader节点,否者将被视为超时;
    syncLimit:设定了follower节点和leader节点进行同步的最大时间,也是以tickTime为单位;
    server.x:配置文件中的最后三行都是这种形式的。这里的x必须是一个全局唯一的数字,并且需要与myid文件中的数字相对应(关于myid文件的设置稍后讨论)。一般设置的x为1~255的整数。这行后面还设置了两个端口,通常是2888和3888。
    第一个端口用于使follower节点连接leader节点,而第二个端口用户leader节点选举。

    设置好上面的配置文件,现在就需要配置上面提到的myid文件了,众所周知,每个zookeeper服务器都有一个唯一的ID。这个IDz主要用在两个地方:一个就是我们刚刚配置的zoo.cfg文件,另一个就是myid文件,myid文件放在我们配置的dataDir路径下面,内容就是一个数字,即ID。
    下面以一台机器为例展示一下如何安装3个节点的zookeeper集群。其实,在一台机器上安装多节点zookeeper集群和在多台机器上安装的方法相同,只是配置文件有一些细微的调整,后面会详细介绍。
    首先在zookeeper的conf目录下面创建3个配置文件zoo1.cfg,zoo2.cfg,zoo3.cfg,如下图所示。如果在多台服务器上安装集群,则配置文件的名字可以相同。

     

     上面的配置文件中分别选取了2181,2182,2183这个3个端口,在多台服务器上,端口可以设置成一样的,只要确保没有端口冲突。同样,其他端口也是这样。

    创建好配置文件,下面需要创建myid文件。命令如下:

     接下来就是启动这个3个节点

     如果是多节点安装方案,既可以使用上面的命令启动,也可以使用下面的命令:

     当所有的zookeeper启动完成之后,需要检查一下集群的状态,分别执行以下命令

     输出结果为:

     从图中可以看出,当前服务器2是整个集群的leader。另外,还可以执行java的jps命令来查看zookeeper进程和集群状态,如图

    zookeeper的主进程名是QuorumPeerMain。 

     
     
     
     
  • 相关阅读:
    24点游戏 程序(一)
    24点游戏全解-1362组
    Android版 hanoi 汉诺塔 源码
    24点游戏 程序(二)
    Javascript 面向对象编程
    新浪微博 OAuth2 NodeJs发微博
    AT5800 [AGC043C] Giant Graph 题解
    CF1033D Divisors 题解
    CF1033E Hidden Bipartite Graph 题解
    AT???? [ABC255D] String Cards 题解
  • 原文地址:https://www.cnblogs.com/cq-yangzhou/p/11436476.html
Copyright © 2011-2022 走看看