美文网首页
Zookeeper集群安装

Zookeeper集群安装

作者: 刘磊_3a3b | 来源:发表于2019-08-25 19:52 被阅读0次

    一 linux环境配置

    虚拟机总共三台机器,ip分别是192.168.1.11,192.168.1.12,192.168.1.13

    1.防火墙配置

    关闭防火墙:systemctl stop firewalld.service
    禁止防火墙自动启动:systemctl disable firewalld.service

    2.安全配置

    关闭selinux : setenforce 0
    禁止selinux启动:vim /etc/selinux/config

    SELINUX=disabled
    

    3.配置host

    vim /etc/hosts

    192.168.1.11 node01
    192.168.1.12 node02
    192.168.1.13 node03
    

    二 zookeeper安装

    1.下载zookeeper

    下载apache-zookeeper-3.5.5-bin.tar.gz并上传到三台虚拟机的/software下

    image.png

    2.解压apache-zookeeper-3.5.5-bin.tar.gz 并重命名

    tar xf apache-zookeeper-3.5.5-bin.tar.gz -C /software/
    mv apache-zookeeper-3.5.5-bin zookeeper 
    

    3.配置

    3.1在zookeeper目录下创建data和logs两个目录用于存储数据和日志:

    mkdir  -p /software/zookeeper/{data,logs}
    

    3.2配置环境变量 , 修改/etc/profile 文件

    vim /etc/profile
    export ZOOKEEPER_HOME=/software/zookeeper
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    source /etc/profile 
    

    3.3 配置zoo.cfg
    创建zoo.cfg 并修改权限

    touch /software/zookeeper/conf/zoo.cfg
    chmod 777  /software/zookeeper/conf/zoo.cfg
    

    在zoo.cfg增加以下配置

    tickTime=2000
    dataDir=/software/zookeeper/data
    dataLogDir=/software/zookeeper/logs
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=node01:2888:3888
    server.2=node02:2888:3888
    server.3=node03:2888:3888
    zookeeper.admin.serverPort=8081
    
     zoo.cfg详解:
            tickTime:   基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发送一个心跳。          
            
            dataDir:    存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
    
            clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
    
            initLimit:  这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,
                        当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,
                        那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
            
            syncLimit:  这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,
                        最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒
            
            server.A = B:C:D 
                        A表示这个是第几号服务器,
                        B 是这个服务器的 ip 地址;
                        C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
                        D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader
    
    
    

    3.4服务器标识配置
    在zookeeper的data目录下创建myid文件,并填写数字作为服务器的标识,不同机器的myid必须不同

    192.168.1.11上配置

    echo '1' >  /software/zookeeper/data/myid
    

    192.168.1.12上配置

    echo '2' > /software/zookeeper/data/myid
    

    192.168.1.13上配置

    echo '3' >  /software/zookeeper/data/myid
    

    4.启动zookeeper集群

    在三台机器上分别运行

    zkServer.sh start
    

    5.验证集群是否成功启动

    5.1查看zookeeper的状态

    zkServer.sh status
    
    image.png

    5.2数据测试
    通过zookeeper客户端连接其中一台,并写入数据

    zkCli.sh -server node02:2181
    create /username tom
    

    然后连接另一台,并查看有没有刚才插入的数据

    zkCli.sh -server node03:2181
    get /username
    
    image.png image.png

    上图说明zookeeper集群模式部署成功

    相关文章

      网友评论

          本文标题:Zookeeper集群安装

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