zoukankan      html  css  js  c++  java
  • Hadoop HA一键启动,一键关闭脚本

    本脚本实现一个简单的三台机器分布式集群环境下的Hadoop一键启动。

    1:在目录 /usr/local/bin下 touch xhp.sh

    2:   chmod 777 xhp.sh 

    3:   编辑 xhp.sh

    ZK:Zookeeper  ZKFC:Zookeeper FailoverController  JN:JournalNodes   RM:Yarn ResourceManager   DM:Yarn ApplicationManager(DataManager)

    ZKFC 必须跟namenode在一起(hearbeat) DM 最好跟DataNode放一起,JN和ZK必须为奇数个(3,5,7)

    机器编号 Namenode DateNode Zookeeper  ZKFC JN RM DM
    hadoop202  
    hadoop203  
    hadoop204      
    #判断用户是否传参
    if [ $# -ne 1 ];then
        echo "无效参数,用法为: $0  {start|stop}"
        exit
    fi
    #获取用户输入的命令
    cmd=$1
    #定义函数功能
    function hadoopManger(){
        case $cmd in
        start)
            echo "启动服务"        
            remoteExecutionstart
            ;;
        stop)
            echo "停止服务"
            remoteExecutionstop
            ;;
        *)
            echo "无效参数,用法为: $0  {start|stop}"
            ;;
        esac
    }
    
    
    
    #启动HADOOP
    function remoteExecutionstart(){
        #zookeeper
        echo ==========   ZooKeeper   ================
        for (( i=202 ; i<=204 ; i++ )) ; 
        do
                tput setaf 2
                echo ========== 启动 hadoop${i} zookeeper  $1 ================
                tput setaf 9
                ssh hadoop${i}  "source /etc/profile ; /opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
        done
        
        #journalnode 
        echo ==========   Journalnode   ================
        for (( i=202 ; i<=204 ; i++ )) ; 
        do
                tput setaf 2
                echo ==========启动  hadoop${i} journalnode  $1 ================
                tput setaf 9
                ssh hadoop${i}  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start journalnode"
        done
        
        echo "启动HDFS"        
        ssh hadoop202  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/start-dfs.sh"
        
        echo "启动YARM"        
        ssh hadoop202  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/start-yarn.sh"
        
        echo "启动ResourceManager"        
        ssh hadoop203  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start resourcemanager"
        
    }
    
    
    #关闭HADOOP
    function remoteExecutionstop(){
        
        echo "关闭ResourceManager"        
        ssh hadoop203  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh stop resourcemanager"
        
        echo "关闭YARM"        
        ssh hadoop202  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/stop-yarn.sh"
        
        echo "关闭HDFS"        
        ssh hadoop202  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/stop-dfs.sh"    
        
        #journalnode
        echo ==========   Journalnode   ================
        for (( i=202 ; i<=204 ; i++ )) ; 
        do
                tput setaf 2
                echo ==========关闭  hadoop${i} journalnode  $1 ================
                tput setaf 9
                ssh hadoop${i}  "source /etc/profile ; /opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh stop journalnode"
        done
        
        #zookeeper
        echo ==========   ZooKeeper   ================
        for (( i=202 ; i<=204 ; i++ )) ; 
        do
                tput setaf 2
                echo ========== 关闭 hadoop${i} zookeeper  $1 ================
                tput setaf 9
                ssh hadoop${i}  "source /etc/profile ; /opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
        done
        
    }
    #调用函数
    hadoopManger

     注意:Journalnode 的启动关闭脚本可以不需要.ZKFC 的启动关闭脚本也不需要。因为

    the start-dfs.sh script will now automatically start a ZKFC daemon on any machine that runs a NameNode. When the ZKFCs start, they will automatically select one of the NameNodes to become active.

    Journalnode 也会被自动启动.

    运行脚本:查询启动结果

     web 端查看

    http://hadoop202:50070/

     http://hadoop203:8088/

     

  • 相关阅读:
    vue组件---动态组件之多标签页面
    vue组件---动态组件&异步组件
    vue组件---插槽
    vue组件---自定义事件
    ES6字符串模板
    vue组件---组件注册
    vue基础---表单输入绑定
    vue基础---事件处理
    从浏览器输入 URL 到页面展示过程
    表单提交type=submit和type=image的区别
  • 原文地址:https://www.cnblogs.com/kpwong/p/13940405.html
Copyright © 2011-2022 走看看