zoukankan      html  css  js  c++  java
  • 【zookeeper】linux中编写脚本批量启动zookeeper

    实现功能:一键启动、关闭主从端3个节点上的zookeeper,附加查看启动状态

    mkdir bin --新建文件夹
    cd bin 跳转到bin文件夹里
    touch  zookeeperstart.sh --新建一键启动文件
    touch  zookeeperstop.sh --新建一键停止文件

    zookeeperstart.sh添加内容:

    #!/bin/bash
    ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5
     
    if [ $ZOOKEEPER_HOME != ""  ]; then
            ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
            for s in 01 02 03 --循环启动
                    do
                            echo "INFO:starting zookeeper on ${s}"
                            ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh start" --利用ssh登陆对应的节点,执行当前对应启动命令
                            if [ $? != 0 ];
                                    then
                                    echo "Can not starting zookeeper server on host $s}"
                                    exit 1
                            fi
                    done
            for s in 01 02 03 --循环查看zookeeper状态
                    do
                            echo "INFO:starting zookeeper on ${s}"
                            ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh status" --显示各节点zookeeper的启动状态
                            if [ $? != 0 ];
                                    then
                                    echo "Can not starting zookeeper server on host $s}"
                                    exit 1
                            fi
                    done
    fi



    zookeeperstopsh添加内容:

    #!/bin/bash
    ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5
    if [ $ZOOKEEPER_HOME != ""  ]; then
            ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
            for s in 01 02 03
                    do
                            echo "INFO:starting zookeeper on ${s}"
                            ssh hadoop$s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh stop"
                            if [ $? != 0 ];
                                    then
                                    echo "Can not starting zookeeper server on host $s}"
                                    exit 1
                            fi
                    done
    fi


    启动脚本:

    sh zookeeperstart.sh
    sh zookeeperstop.sh

    例:以我的linux虚拟机上配置zookeeper为例

    [hadoop@hadoop01 bin]$ sh zookeeperstop.sh
    INFO:starting zookeeper on 01
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Stopping zookeeper ... STOPPED
    INFO:starting zookeeper on 02
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Stopping zookeeper ... STOPPED
    INFO:starting zookeeper on 03
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Stopping zookeeper ... STOPPED
    [hadoop@hadoop01 bin]$ sh zookeeperstart.sh
    INFO:starting zookeeper on 01
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    INFO:starting zookeeper on 02
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    INFO:starting zookeeper on 03
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    INFO:starting zookeeper on 01
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: follower
    INFO:starting zookeeper on 02
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: leader
    INFO:starting zookeeper on 03
    /usr/bin/java
    ZooKeeper JMX enabled by default
    Using config: /home/hadoop/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost.
    Mode: follower

    最后,我们可以看见,系统给出的信息表明,有两个follower,一个leader,这是zookeeper的工作原理



  • 相关阅读:
    【开发笔记】- Linux命令大全
    【面试突击】- SpringMVC那些事(一)
    【阿里云开发】- 搭建和卸载svn服务器
    【阿里云开发】- 安装tomcat
    SpringCloud之Eureka服务发现和注册(二)
    springcloud之环境工程模块(一)
    java多线程中篇(三) —— 线程的控制(创建,运行,阻塞,中断,结束)
    java多线程中篇(二) —— 线程的创建和Synchronized锁关键字
    java多线程中篇(一) —— Thread详情
    JUC之AbstractQueuedSynchronizer原理分析
  • 原文地址:https://www.cnblogs.com/CQ-LQJ/p/11605603.html
Copyright © 2011-2022 走看看