zoukankan      html  css  js  c++  java
  • zk安装管理

    参考:

     https://www.cnblogs.com/yinzhengjie/p/9209319.html


    10.52.110.48 bi-kafka-3
    10.52.48.92 bi-kafka-1
    10.52.60.235 bi-kafka-2

    1/ 三个节点都需要安装
    yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

    2/ 添加环境变量
    vim /etc/profile
    #set java environment
    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
    JRE_HOME=$JAVA_HOME/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/opt/confluent-5.2.2/bin

    source /etc/profile

    3/ 安装zk,选一个性能好的作为主节点,在主节点上:
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
    tar -zxf apache-zookeeper-3.5.5-bin.tar.gz -C /hongfeng/software/

    4/ 创建配置zookeeper的堆内存配置文件
    cat /hongfeng/software/apache-zookeeper-3.5.5-bin/conf/java.env
    #指定JDK的安装路径
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
    #指定zookeeper的heap内存大小
    export JVMFLAGS="-Xms2048m -Xmx2048m $JVMFLAGS"

    5/ 修改配置文件zoo.cfg
    vim /hongfeng/software/apache-zookeeper-3.5.5-bin/conf/zoo.cfg

    tickTime=2000
    initLimit=10
    #存放数据文件
    dataDir=/data/zookeeper
    syncLimit=5
    clientPort=2181
    #zk cluster,2888为选举端口,3888为心跳端口
    server.101=10.52.110.48:2888:3888
    server.102=10.52.48.92:2888:3888
    server.103=10.52.60.235:2888:3888

    6/ 添加zk的环境变量
    vim /etc/profile
    #ADD Zookeeper PATH BY yinzhengjie
    ZOOKEEPER=/hongfeng/software/apache-zookeeper-3.5.5-bin
    PATH=$PATH:$ZOOKEEPER/bin


    7/#配置主节点到其它节点免密
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    ssh-copy-id 10.52.110.48
    ssh-copy-id 10.52.48.92
    ssh-copy-id 10.52.60.235

    8/ 把上面的配置copy过去
    scp -r /hongfeng/software/apache-zookeeper-3.5.5-bin/ 10.52.48.92:/hongfeng/software/
    scp -r /hongfeng/software/apache-zookeeper-3.5.5-bin/ 10.52.60.235:/hongfeng/software/

    9/ 每个节点下建myid文件,里面的id要不一样

    mkdir /data/zookeeper/ -p

    vim /data/zookeeper/myid


    yum -y install ansible
    [root@10-52-110-48 software]# ansible zk -m shell -a 'cat /data/zookeeper/myid'
    10.52.48.92 | CHANGED | rc=0 >>
    102
    10.52.60.235 | CHANGED | rc=0 >>
    103
    10.52.110.48 | CHANGED | rc=0 >>
    101

    10/ 每台机器上启动zk
    zkServer.sh start
    自己写管理脚本zk-manager.sh
    #!/bin/bash
    #@author :hongfeng


    #判断用户是否传参
    if [ $# -ne 1 ];then
    echo "无效参数,用法为: $0 {start|stop|restart|status}"
    exit
    fi

    #获取用户输入的命令
    cmd=$1

    #定义函数功能
    function zookeeperManger(){
    case $cmd in
    start)
    echo "启动服务"
    remoteExecution start
    ;;
    stop)
    echo "停止服务"
    remoteExecution stop
    ;;
    restart)
    echo "重启服务"
    remoteExecution restart
    ;;
    status)
    echo "查看状态"
    remoteExecution status
    ;;
    *)
    echo "无效参数,用法为: $0 {start|stop|restart|status}"
    ;;
    esac
    }


    #定义执行的命令
    function remoteExecution(){
    for (( i=1 ; i<=3 ; i++ )) ; do
    tput setaf 2
    echo ========== bi-kafka-$i zkServer.sh $1 ================
    tput setaf 9
    ssh bi-kafka-$i "source /etc/profile ; zkServer.sh $1"
    done
    }

    #调用函数
    zookeeperManger

    用脚本检查:

    [root@bi-kafka-1 script]# sh zk-manager.sh status
    查看状态
    ========== bi-kafka-1 zkServer.sh status ================
    ZooKeeper JMX enabled by default
    Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: follower
    ========== bi-kafka-2 zkServer.sh status ================
    ZooKeeper JMX enabled by default
    Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: leader
    ========== bi-kafka-3 zkServer.sh status ================
    ZooKeeper JMX enabled by default
    Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: follower


    用图形工具在根下建一个kafka01目录(为了多kafka集群管理),改kafka的配置文件:
    由于端口冲突的原因,zk的client端口在zk配置文件中改为了2181:
    10.52.110.48:2182,10.52.48.92:2182,10.52.60.235:2182/kafka01

    附录:zk的图形化管理工具

    wget https://github.com/zhitom/zkweb/releases/download/zkWeb-v1.2.1/zkWeb-v1.2.1.jar

    java -jar zkWeb-v1.2.1.jar

    默认启动端口是8099

    访问这台机器的ip:8099

    在web界面添加如下信息,可以把三个节点都一一添加

    注: 如果你配置文件clientPort=2181, 连接端口要改为2181

     

  • 相关阅读:
    npm install --save
    ajax总结
    javascript学习资料
    前端工具学习资料
    php学习资料
    Bootstrap学习资料
    css学习资料
    Express搭建一个Node项目
    网站性能优化
    POJ 1862 Stripies【哈夫曼/贪心/优先队列】
  • 原文地址:https://www.cnblogs.com/hongfeng2019/p/11331688.html
Copyright © 2011-2022 走看看