ZooKeeper安装部署

本文详细介绍了ZooKeeper的单机和集群安装步骤。在单机安装中,涉及了JDK的安装、ZooKeeper配置文件的修改以及启动和检查进程的方法。而在集群安装部分,强调了奇数台机器的推荐、myid文件的创建以及集群配置的设置,最后通过启动ZooKeeper并检查集群状态来验证安装成功。
摘要由CSDN通过智能技术生成

ZooKeeper单机安装

安装目录以 /opt/share/zk 为例

  1. 新建目录 /opt/share/zk,命令如下:

    mkdir -p /opt/share/zk
    
  2. 进入 /opt/share/zk 目录,上传 jdk-8u301-linux-x64.tar.gz 文件

  3. 解压 jdk-8u301-linux-x64.tar.gz 文件,命令如下:

    tar -zxvf jdk-8u301-linux-x64.tar.gz
    
  4. 修改 java 执行权限 ,命令如下:

    chmod u+x jdk1.8.0_301/bin/java*
    
  5. 上传 apache-zookeeper-3.6.3-bin.tar.gz 文件

  6. 解压 apache-zookeeper-3.6.3-bin.tar.gz 文件,命令如下:

    tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
    
  7. apache-zookeeper-3.6.3-bin/data/ 目录下新建 子目录 snapshot 与 log,命令如下:

    mkdir -p /opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot
    mkdir -p /opt/share/zk/apache-zookeeper-3.6.3-bin/data/log
    
  8. 进入 apache-zookeeper-3.6.3-bin/conf 目录,新建 java.env 文件,命令如下:

    touch java.env
    vi java.env
    

    java.env 文件内容如下:

    #!/bin/sh
    #配置JDK目录
    export JAVA_HOME=/opt/share/zk/jdk1.8.0_301
    #配置JVM参数
    export JVMFLAGS="-Xms1024m -Xmx1024m $JVMFLAGS"
    

    修改 java.env 文件执行权限

    chmod u+x java.env
    
  9. 拷贝配置文件 zoo_sample.cfg 为 zoo.cfg,命令如下:

    cd apache-zookeeper-3.6.3-bin/conf
    cp zoo_sample.cfg zoo.cfg
    
  10. 修改 zoo.cfg 配置文件,命令如下:

    vi zoo.cfg
    

    以下为修改配置

    #与客户端通信端口
    clientPort=2181
    #快照存储目录。修改位置:第12行
    dataDir=/opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot
    # 开启(把注释去掉),保留快照的个数,修改位置:第25行
    autopurge.snapRetainCount=10
    # 开启(把注释去掉),自动清理事务日志和快照文件的功能,单位是小时,默认是0,表示不开启自动清理功能。修改位置:第28行
    autopurge.purgeInterval=24
    

    以下为新增配置,在文件末尾新增以下配置

    #事务日志存储目录
    dataLogDir=/opt/share/zk/apache-zookeeper-3.6.3-bin/data/log
    #HTTP方式查看服务信息
    admin.serverPort=8081
    #开启审核日志
    audit.enable=true
    

    2181对客户端开放

    开放端口命令如下:

    # 开放2181端口
    firewall-cmd --zone=public --add-port=2181/tcp --permanent
    # 重新加载防火墙规则
    firewall-cmd --reload
    
  11. 进入 /opt/share/zk/apache-zookeeper-3.6.3-bin/bin 目录,启动ZooKeeper

    cd ../bin
    ./zkServer.sh start
    

    如果打印以下信息,则表示启动成功

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Starting zookeeper … STARTED

  12. 根据端口查看进程,命令如下:

    netstat -anp | grep 2181
    

    打印以下信息

    tcp6 0 0 :::2181 ::😗 LISTEN 3538/java

  13. 如果需要关闭,可以用以下命令:

    ./zkServer.sh stop
    

    正常打印信息如下:

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Stopping zookeeper … STOPPED

ZooKeeper 集群安装

安装目录以 /opt/share/zk 为例

ZooKeeper 集群推荐安装奇数台,现以搭建 3 台机器为例。

三台机器如下:

  • 192.168.1.100
  • 192.168.1.101
  • 192.168.1.102

以 192.168.1.100 机器为例,安装步骤如下:

  1. 新建目录 /opt/share/zk,命令如下:

    mkdir -p /opt/share/zk
    
  2. 进入 /opt/share/zk 目录,上传 jdk-8u301-linux-x64.tar.gz 文件

  3. 解压 jdk-8u301-linux-x64.tar.gz 文件,命令如下:

    tar -zxvf jdk-8u301-linux-x64.tar.gz
    
  4. 修改 java 执行权限 ,命令如下:

    chmod u+x jdk1.8.0_301/bin/java*
    
  5. 上传 apache-zookeeper-3.6.3-bin.tar.gz 文件

  6. 解压 apache-zookeeper-3.6.3-bin.tar.gz 文件,命令如下:

    tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
    
  7. /opt/share/zk/apache-zookeeper-3.6.3-bin/data/ 目录下新建 子目录 snapshot 与 log,命令如下:

    mkdir -p /opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot
    mkdir -p /opt/share/zk/apache-zookeeper-3.6.3-bin/data/log
    
  8. 进入 /opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot目录,创建 myid 文件,命令如下:

    cd /opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot
    echo "1" > myid
    

    依次在每台机器 /opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot 目录下创建 myid 文件:

    192.168.1.101 机器 myid 文件内容为 2,命令如下:

    echo "2" > myid
    

    192.168.1.102 机器 myid 文件内容为 3,命令如下:

    echo "3" > myid
    
  9. 进入 /opt/share/zk/apache-zookeeper-3.6.3-bin/conf 目录,新建 java.env 文件,命令如下:

    touch java.env
    vi java.env
    

    java.env 文件内容如下:

    #!/bin/sh
    #配置JDK目录
    export JAVA_HOME=/opt/share/zk/jdk1.8.0_301
    #配置JVM参数
    export JVMFLAGS="-Xms1024m -Xmx1024m $JVMFLAGS"
    

    修改 java.env 文件执行权限

    chmod u+x java.env
    
  10. 拷贝配置文件 zoo_sample.cfg 为 zoo.cfg,命令如下:

    cd apache-zookeeper-3.6.3-bin/conf
    cp zoo_sample.cfg zoo.cfg
    
  11. 修改 zoo.cfg 配置文件,命令如下:

    vi zoo.cfg
    

    以下为修改配置

    #与客户端通信端口
    clientPort=2181
    #快照存储目录。修改位置:第12行
    dataDir=/opt/share/zk/apache-zookeeper-3.6.3-bin/data/snapshot
    # 开启(把注释去掉),保留快照的个数,修改位置:第25行
    autopurge.snapRetainCount=10
    # 开启(把注释去掉),自动清理事务日志和快照文件的功能,单位是小时,默认是0,表示不开启自动清理功能。修改位置:第28行
    autopurge.purgeInterval=24
    

    以下为新增配置,在文件末尾新增以下配置

    #事务日志存储目录
    dataLogDir=/opt/share/zk/apache-zookeeper-3.6.3-bin/data/log
    #HTTP方式查看服务信息
    admin.serverPort=8081
    #开启审核日志
    audit.enable=true
    #集群节点配置
    server.1=192.168.1.100:2888:3888
    server.2=192.168.1.101:2888:3888
    server.3=192.168.1.102:2888:3888
    

    注意,需要保证端口2888、3888在三台机器之间互通,保证端口2181对客户端开放

    开放端口命令如下:

    # 开放2181端口
    firewall-cmd --zone=public --add-port=2181/tcp --permanent
    firewall-cmd --zone=public --add-port=2888/tcp --permanent
    firewall-cmd --zone=public --add-port=3888/tcp --permanent
    # 重新加载防火墙规则
    firewall-cmd --reload
    

    依次修改每台机器 zoo.cfg 配置文件,内容一样。

    配置格式说明如下:

    server.A=B:C:D

    A:ZooKeeper 服务器的序号,这个序号要与 ZooKeeper 的 myid 内容保持一致

    B:服务器的 IP 地址或者域名

    C:服务器 Follower 与集群中的 Leader 服务器通信端口

    D:Leader 选举端口。

  12. 192.168.1.101、192.168.1.102 机器上分别按如上1~11步骤安装配置,注意第8步骤,myid值修改

  13. 依次进入每台机器 /opt/share/zk/apache-zookeeper-3.6.3-bin/bin 目录,启动 ZooKeeper

    cd /opt/share/zk/apache-zookeeper-3.6.3-bin/bin
    ./zkServer.sh start
    

    如果打印以下信息,则表示启动成功

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Starting zookeeper … STARTED

  14. 验证集群状态,命令如下:

    ./zkServer.sh status
    

    如果打印以下信息,则表示该台节点为Leader

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Client port found: 2181. Client address: localhost. Client SSL: false.
    Mode: leader

    如果打印以下信息,则表示该台节点为follower

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Client port found: 2181. Client address: localhost. Client SSL: false.
    Mode: follower

  15. 根据端口查看进程,命令如下:

    netstat -anp | grep 2181
    

    打印以下信息

    tcp6 0 0 :::2181 ::😗 LISTEN 3538/java

  16. 如果需要关闭,可以用以下命令:

    ./zkServer.sh stop
    

    正常打印信息如下:

    ZooKeeper JMX enabled by default
    Using config: /opt/share/zk/apache-zookeeper-3.6.3-bin/bin/…/conf/zoo.cfg
    Stopping zookeeper … STOPPED

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值