zoukankan      html  css  js  c++  java
  • 大数据集群相关组件的群起脚本

    脚本一:集群群发脚本

    #!/bin/bash
    #1 获取输入参数个数,如果没有参数,直接退出
    pcount=$#
    if((pcount==0)); then
    echo no args;
    exit;
    fi
    
    #2 获取文件名称
    p1=$1
    fname=`basename $p1`
    echo fname=$fname
    
    #3 获取上级目录到绝对路径
    pdir=`cd -P $(dirname $p1); pwd`
    echo pdir=$pdir
    
    #4 获取当前用户名称
    user=`whoami`
    
    #5 循环
    for((host=101; host<104; host++)); do
            echo ------------------- hadoop$host --------------
            rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
    done

    脚本二:集群中的所有节点执行相同的指令

    #! /bin/bash
    params=$@
    for((i=101;i<=103;i=$i+1));do
    echo "==================hadoop$i $params==============="
    ssh hadoop$i "source /etc/profile;$params"
    done

    脚本三:启动hdfs、yarn的脚本

    #!/bin/bash
    user=`whoami` 
    echo "================    正在启动HDFS              ==============="
    ssh $user@hadoop101 '/opt/module/hadoop-2.7.2/sbin/start-dfs.sh'
    echo "================    正在启动YARN                ==============="
    ssh $user@hadoop102 '/opt/module/hadoop-2.7.2/sbin/start-yarn.sh'
    done

    脚本四:启动zookeeper集群的脚本

    #! /bin/bash
    params=$@
    for((i=101;i<=103;i=$i+1));do
    echo "==================hadoop$i $params==============="
    ssh hadoop$i "source /etc/profile;$params"
    done
    [fym000@hadoop101 bin]$ cat zk.sh 
    #! /bin/bash
    case $1 in
    "start"){
        for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
        do
            ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
        done
    };;
    "stop"){
        for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
        do
            ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
        done
    };;
    "status"){
        for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
        do
            ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
        done
    };;

    脚本五:启动kafka集群的脚本

    #!/bin/bash
    case $1 in
    "start"){
    
        for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
        do
            echo "=================== $i ================"
            ssh $i "source /etc/profile;/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
        done
    };;
    "stop"){
    
        for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
        do
            echo "=================== $i ================"
            ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
        done
    };;
    esac
  • 相关阅读:
    [C]%p和%02x含义
    [python]特殊输入格式(输入中包含空格逗号等)
    《python编程从入门到实践》用户输入和while循环
    [ C ]根据年月日判断周几(基姆拉尔森计算公式)
    《python编程从入门到实践》字典
    《python编程从入门到实践》if语句
    记一次页面乱码问题的解决
    apache配置健康检查
    nginx 配置代理对象的host
    nginx配置http负载均衡
  • 原文地址:https://www.cnblogs.com/yxym2016/p/13407797.html
Copyright © 2011-2022 走看看