美文网首页
Zookeeper(01)--ZK集群搭建

Zookeeper(01)--ZK集群搭建

作者: thinkfish | 来源:发表于2019-02-18 17:19 被阅读0次

    环境说明:Linux服务器3台(CenterOS 7)
                      hostname分别为:data01,data02,data03,
                      三台服务器均已安装jdk1.8且已配置免密登录;

    安装概述:先在data01全部安装配置好一个ZK节点,然后整个目录拷贝到data02和data03,然后修改data02,和data03的myid;最后启动三个节点,安装完成!

    安装步骤:

         2.配置环境变量(可选,配置后便于后面操作)
            2.1 用vi命令编辑 /etc/profile:输入命令 vi  /etc/profile
            2.2 按“i”进入 “insert” 模式编辑文件,在最后插入以下内容:
                    export ZOOKEEPER_HOME=/data/zookeeper/zookeeper-3.4.12
                    export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
                    按“esc” 输入 “:wq” 保存退出:
            2.3 执行 source /etc/profile 使修改生效;

         3.配置zoo.cfg
             3.1 进入zk的conf路径  /data/zookeeper/zookeeper-3.4.12/conf
             3.2 复制 zoo_sample.cfg为zoo.cfg (新安装zk没有zoo.cfg文件)
                    执行命令: cp zoo_sample.cfg zoo.cfg
             3.3 修改配置文件:   
                    tickTime=2000
                    initLimit=10
                    syncLimit=5
                    dataDir=/data/zookeeper/data
                    dataLogDir=/data/zookeeper/log
                    clientPort=2181
                    server.1=data01:2888:3888
                    server.2=data02:2888:3888
                    server.3=data03:2888:3888

                    参数说明:
                    tickTime
                    ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime

                    initLimit
                    Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。

                    syncLimit
                    在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。

                    dataDir
                    存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
                    
                    dataLogDir
                    事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。

                    clientPort
                    客户端连接server的端口,即对外服务端口,一般设置为2181吧。

                    server.x=[hostname]:nnnnn[:nnnnn]
                    这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。
                  
         3.创建myid
            在上一步配置的“dataDir”路径下,创建文件myid,并输入内容“1”
            (因为data01机器我们设置的是server.1,因此data01机器的myid内容为‘1’)
             直接 使用 vi 命令创建文件 myid并编辑内容为“1”,然后保存;
                vi /data/zookeeper/data/myid 

         4.复制整个安装路径到其他节点
            scp zookeeper/ root@data02:/data
            scp zookeeper/ root@data03:/data

         5.修改data02和data03中myid文件内容,分别为2,3

        至此Zookeeper集群搭建完成!

        The End!

    相关文章

      网友评论

          本文标题:Zookeeper(01)--ZK集群搭建

          本文链接:https://www.haomeiwen.com/subject/xenaeqtx.html