通过自动化脚本安装以及配置Zookeeper

  • zookeeper_boot.sh
    #!/bin/bash

    SERVERS="master slave1 slave2"
    PASSWORD=nn1234
    
    auto_ssh_copy_id(){
         expect -c "set timeout -1;
              spawn ssh-copy-id $1;
              expect {
                      *(yes/no)* {send -- yes\r;exp_continue;}
                      *password* {send -- $2\r;exp_continue;}
                      eof        {exit 0;}                    
              }";
    }
    
    ssh_copy_id_to_all(){
        for SERVER in $SERVERS
        do
            auto_ssh_copy_id $SERVER $PASSWORD
        done
    }
    
    ssh_copy_id_to_all
    
    sid=1
    
    for SERVER in $SERVERS
    do
      scp zookeeper_install.sh root@$SERVER:/root
      ssh root@$SERVER /root/zookeeper_install.sh $sid  #sid是设置给myid的值
      let sid++
    done
    
  • zookeeper_install.sh

    #!/bin/bash
    
    PACKAGE_SERVER=192.168.1.10
    BASE_DIR=/usr/app/zookeeper-3.4.10
    
    wget -P /usr/app/ $PACKAGE_SERVER/file/zookeeper-3.4.10.tar.gz
    cd /usr/app/
    tar -zxvf zookeeper-3.4.10.tar.gz
    rm -rf zookeeper-3.4.10.tar.gz
    cp $BASE_DIR/conf/zoo_sample.cfg $BASE_DIR/conf/zoo.cfg
    sed -i 's/\/tmp\/zookeeper/\/usr\/app\/zookeeper-3.4.10\/zoo_data/' $BASE_DIR/conf/zoo.cfg  # 修改dataDir目录
    # 配置集群节点
    cat >> $BASE_DIR/conf/zoo.cfg << EOF
    server.1=master:2888:3888   #2888是leader与flower之间的访问端口(心跳端口),3888是投票选举leader端口(数据端口)
    server.2=slave1:2888:3888
    server.3=slave2:2888:3888
    EOF
    
    mkdir $BASE_DIR/zoo_data/
    cd $BASE_DIR/zoo_data/
    echo $1 > myid  # 通过参数的方式来配置myid
    
    rm -f ~/zookeeper_install.sh
    
  • zkServer启动脚本zkServerStart.sh
    #!/bin/bash

    #  export A=1  定义的变量,会对自己所在的shell进程及其子进程生效
    # B=1 定义的变量,只对自己所在的shell进程生效
    # 在script.sh中定义的变量,在当前登陆的shell进程中 source script.sh时,脚本中定>义的变量也会进入当前登陆的进程
    
    SERVERS="master slave1 slave2"
    
    for server in $SERVERS
    do
      echo "start zkServer:  $server"
      ssh root@$server "source /etc/profile;/usr/app/zookeeper-3.4.10/bin/zkServer.sh start"
    done
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在学习大数据技术,朋友叫我直接学习Spark,英雄不问出处,菜鸟不问对错,于是我就开始了Spark学习。 为什...
    Plokmijn阅读 26,688评论 6 26
  • hadoop2集群搭建详解------------------------天津九安医疗电子--吴伟 一、需要软件 ...
    hogface阅读 1,862评论 1 4
  • ZooKeeper介绍 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用...
    Coselding阅读 11,454评论 1 37
  • 1、安装及配置 首先,再安装前,需要安装并配置好JDK(选择Oracle Java8 SE)。 其次,需要下载Zo...
    菜心有毒阅读 4,917评论 1 1
  • 又到了一周之间在学校有最多自习课的周二。 今天有教研员来听课 学校老师老早就和我们说要注意好仪容仪表,见到老师要打...
    宸子韵阅读 245评论 0 1