• 大数据集群相关组件的群起脚本


    脚本一:集群群发脚本

    #!/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
  • 相关阅读:
    POJ3928 Pingpong(统计比 K 小的个数 + 树状数组)
    C++ Primer Plus读书笔记
    HDU1698Just a Hook(线段树 + 区间修改 + 求和)
    POJ3468A Simple Problem with Integers(区间加数求和 + 线段树)
    POJ2528Mayor's posters(离散化 + 线段树)
    约瑟夫环
    编写一个JavaWeb项目
    四则运算在线答题系统
    JAVA项目中的常用的异常处理情况
    第八周动手动脑
  • 原文地址:https://www.cnblogs.com/yxym2016/p/13407797.html
Copyright © 2020-2023  润新知