ZooKeeper集群部署流程

作者: dzgdp888 | 来源:发表于2015-12-27 02:15 被阅读3837次
    系统版本:CentOS 6.5
    软件版本:ZooKeeper:3.4.7
    硬件要求:至少3台Server,要求有网卡、内存大
    
    

    1. 配置hosts,测试节点连通性

    终端输入

    vim /etc/hosts
    

    依次配置每台Server的hosts文件,例如:

    192.168.1.100   host1
    192.168.1.101   host2
    192.168.1.102   host3
    

    配置后要检查每台Server是否和其它Server都保持连通。如在host1要依次测试:

    ping host2
    ping host3
    

    确保所有Server连通后继续下一步操作。

    2. 解压安装包zookerper-3.4.7.tar.gz

    tar -xzvf zookerper-3.4.7.tar.gz
    

    3. 创建项目目录并将解压目录移入项目目录中的Zookeeper子目录

    新建zookeeper目录,将解压后的zookerper-3.4.7文件夹放到zookeeper目录下

    4. 修改Zookeeper配置文件zoo.cfg

    • 进入zookerper-3.4.7目录,执行
    ls conf/  
    /*
    输出:configuration.xsl  log4j.properties zoo_sample.cfg.其中zoo_sample.cfg文件即为配置文件
    */
    
    cp conf/zoo_sample.cfg conf/zoo.cfg
    vim conf/zoo.cfg
    
    
    • 配置文件如下:
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/host1/zookeeper/zkdata
    dataLogDir=/home/host1/zookeeper/logs
    clientPort=2181
    server.1=host1:2888:3888
    server.2=host2:2888:3888
    server.3=host3:2888:3888
    
    

    修改完成后拷贝配置内容,依次复制到其他Server下

    • 创建目录
    mkdir /home/host1/zookeeper/zkdata
    mkdir /home/host1/zookeeper/logs
    
    

    5. 建立Zookeeper节点标识文件myid

    创建myid编号,依次在每台Server上执行,注意每台Server的myid要对应正确的编号

    host1下输入

    echo "1" > /home/host1/zookeeper/zkdata/myid
    
    

    host2下输入

    echo "2" > /home/host2/zookeeper/zkdata/myid
    
    

    host3下输入

    echo "3" > /home/host3/zookeeper/zkdata/myid
    
    

    6. 配置环境变量并使环境变量立即生效

    vim /etc/profile
    
    

    在末尾加入以下命令(只有root用户才可以改哦)

    export ZOOKEEPER_HOME=/home/host1/zookeeper/zookeeper-3.4.7
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    
    

    完成后保存退出,并使环境变量立即生效

    source /etc/profile
    
    

    同样,在其它Server也要做同样的操作。

    7. 启动Zookeeper并且进行状态监控

    启动ZooKeeper

    zkServer.sh start
    

    检查ZooKeeper的状态

    zkServer.sh status
    
    

    这里需要注意下,各台Server的防火墙要关闭,要不可能会报错。关闭防火墙方法:

    service iptables stop
    

    执行后查询是否关闭

    service iptables status
    

    ZooKeeper常见配置

    • tickTime:CS通信心跳数;以毫秒为单位,可以使用默认配置。
    • initLimit:LF初始通信时限;
    • syncLimit:LF同步通信时限;数值不宜过高。
    • dataDir:数据文件目录;
    • dataLogDir:日志文件目录;
    • clientPort:客户端连接端口;
    • server.N:服务器名称与地址(服务编号,服务地址,LF通信端口,选举端口)

    ZooKeeper高级配置

    • gloabalOutstandingLimit:最大请求堆积属,默认1000;
    • preAllocSize:预分配的Transaction log空间大小;
    • snapCount:每进行snapCount次事务日志输出后,触发一次快照;
    • maxClientCnxns:最大并发客户端数;
    • forceSync:是否提交事务的同时同步到磁盘;
    • leaderServes:是否禁止leader读功能;
    • traceFile:是否记录所有请求的log;不建议使用

    相关文章

      网友评论

        本文标题:ZooKeeper集群部署流程

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