• Hadoop集群启动和停止方法



      
      
      

      

    集群部署规划

      

    先看一下集群是怎么规划的,这样就知道哪个服务器该开哪个了,不能瞎开啊!

      

    hadoop102hadoop103hadoop104
    HDFSNameNode
    DataNode
    DataNodeSecondaryNameNode
    DataNode
    YARNNodeManagerResourceManager
    NodeManager
    NodeManager

      

    注意点:

    • 所有服务器的 HDFS 都有 DataNode,YARN 都有 NodeManager

    • ResourceManager 很消耗内存,不能和 NameNode、SecondaryNameNode 配置在同一台机器上。(有钱人另说,电脑好啥都能干)

    • NameNode和SecondaryNameNode不能在同一台服务器上

      

      

    ----------------------------------------------

      

      

    所有服务器一起启动 / 停止(常用)

      

    什么叫一起启动 / 停止呢?
    就是一下把hadoop102、hadoop103、hadoop104的HDFS或YARN全部启动 / 停止了,一箭三雕。

      

      

    HDFS的启动 / 停止

      

    在配置了NameNode的节点(hadoop102)整体启动HDFS

    start-dfs.sh

      

    整体停止HDFS

    stop-dfs.sh

      

      

    YARN的启动 / 停止

      

    在配置了ResourceManager的节点(hadoop103)整体启动YARN

    start-yarn.sh

      

    整体停止YARN

    stop-yarn.sh

      

      

    注意:

    如果配置了全局环境变量,那么在任意位置都能用,不必非要在opt/module/hadoop文件夹下的sbin目录下启动。(sbin目录下放着所有可执行文件,执行它们就能执行对应命令)
      

    看看吧:

    启动集群的命令在sbin目录下

    [mq@hadoop102 sbin]$ pwd
    /opt/module/hadoop-3.1.3/sbin
    [mq@hadoop102 sbin]$ ll
    总用量 108
    -rwxr-xr-x. 1 mq mq 2756 9月 12 2019 distribute-exclude.sh
    drwxr-xr-x. 4 mq mq 36 9月 12 2019 FederationStateStore
    -rwxr-xr-x. 1 mq mq 1983 9月 12 2019 hadoop-daemon.sh
    -rwxr-xr-x. 1 mq mq 2522 9月 12 2019 hadoop-daemons.sh
    -rwxr-xr-x. 1 mq mq 1542 9月 12 2019 httpfs.sh
    -rwxr-xr-x. 1 mq mq 1500 9月 12 2019 kms.sh
    -rwxr-xr-x. 1 mq mq 1841 9月 12 2019 mr-jobhistory-daemon.sh
    -rwxr-xr-x. 1 mq mq 2086 9月 12 2019 refresh-namenodes.sh
    -rwxr-xr-x. 1 mq mq 1779 9月 12 2019 start-all.cmd
    -rwxr-xr-x. 1 mq mq 2221 9月 12 2019 start-all.sh
    -rwxr-xr-x. 1 mq mq 1880 9月 12 2019 start-balancer.sh
    -rwxr-xr-x. 1 mq mq 1401 9月 12 2019 start-dfs.cmd
    -rwxr-xr-x. 1 mq mq 5170 9月 12 2019 start-dfs.sh
    -rwxr-xr-x. 1 mq mq 1793 9月 12 2019 start-secure-dns.sh
    -rwxr-xr-x. 1 mq mq 1571 9月 12 2019 start-yarn.cmd
    -rwxr-xr-x. 1 mq mq 3342 9月 12 2019 start-yarn.sh
    -rwxr-xr-x. 1 mq mq 1770 9月 12 2019 stop-all.cmd
    -rwxr-xr-x. 1 mq mq 2166 9月 12 2019 stop-all.sh
    -rwxr-xr-x. 1 mq mq 1783 9月 12 2019 stop-balancer.sh
    -rwxr-xr-x. 1 mq mq 1455 9月 12 2019 stop-dfs.cmd
    -rwxr-xr-x. 1 mq mq 3898 9月 12 2019 stop-dfs.sh
    -rwxr-xr-x. 1 mq mq 1756 9月 12 2019 stop-secure-dns.sh
    -rwxr-xr-x. 1 mq mq 1642 9月 12 2019 stop-yarn.cmd
    -rwxr-xr-x. 1 mq mq 3083 9月 12 2019 stop-yarn.sh
    -rwxr-xr-x. 1 mq mq 1982 9月 12 2019 workers.sh
    -rwxr-xr-x. 1 mq mq 1814 9月 12 2019 yarn-daemon.sh
    -rwxr-xr-x. 1 mq mq 2328 9月 12 2019 yarn-daemons.sh

      
      
      

      

    各个服务器组件独立启动 / 停止

      

    什么叫独立启动 / 停止呢?
    就是启动 / 停止 hadoop102中HDFS或YARN的各个组件,不会影响到 hadoop103和hadoop104 中相同的组件,独立的运行命令。

      

      

    HDFS各组件的启动 / 停止

      

    分别启动HDFS的组件

    hdfs --daemon start namenode/datanode/secondarynamenode

    HDFS的组件有namenode、datanode、secondarynamenode三个,所以有三个可选项。

      

    分别停止HDFS的组件

    hdfs --daemon stop namenode/datanode/secondarynamenode

      

      

    YARN各组件的启动 / 停止

      

    分别启动YARN的组件

    yarn --daemon start resourcemanager/nodemanager

      

    分别停止YARN的组件

    yarn --daemon stop resourcemanager/nodemanager

      

      

    一定要注意位置!!!
    NameNode 在hadoop102中启动;ResourceManager 在hadoop103中启动;secondarynamenode 在hadoop104中启动。

      

    启动后就可以进行一些查看了:

    • Web端查看HDFS的NameNode
       (a)浏览器中输入:http://hadoop102:9870
       (b)查看HDFS上存储的数据信息

    • Web端查看YARN的ResourceManager
       (a)浏览器中输入:http://hadoop103:8088
       (b)查看YARN上运行的Job信息

      
      
      

      

    启动JobHistoryServer

      

    hadoop102 启动历史服务器

    mapred --daemon start historyserver

      

    启动后就可以进行一些查看了:

    • 查看日志和程序的历史运行情况的地址

    http://hadoop102:19888/jobhistory

      

      

    --------------------👇⭐--------------------

      

      

    编写脚本快捷开启集群

      

    之前开启集群需要先开HDFS,再开YARN。并且开启时需要注意HDFS在hadoop102上开,而YARN在hadoop103上开。好麻烦啊!!!那么就编写一个脚本,让过程简单点吧!

      

    在用户的 bin 目录下写脚本:

    [mq@hadoop102 bin]$ pwd
    /home/mq/bin
    [mq@hadoop102 bin]$ vim myhadoop.sh

    #!/bin/bash
    
    if [ $# -lt 1 ]
    then
        echo "No Args Input..."
        exit ;
    fi
    
    case $1 in
    "start")
            echo " =================== 启动 hadoop集群 ==================="
    
            echo " --------------- 启动 hdfs ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
            echo " --------------- 启动 yarn ---------------"
            ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
            echo " --------------- 启动 historyserver ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
    ;;
    "stop")
            echo " =================== 关闭 hadoop集群 ==================="
    
            echo " --------------- 关闭 historyserver ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
            echo " --------------- 关闭 yarn ---------------"
            ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
            echo " --------------- 关闭 hdfs ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
    ;;
    *)
        echo "Input Args Error..."
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    保存后退出,然后赋予脚本执行权限

    [mq@hadoop102 bin]$ chmod 777 myhadoop.sh

      

      

    启动集群

      

    myhadoop.sh start

    [mq@hadoop102 bin]$ myhadoop.sh start
    =================== 启动 hadoop集群 ===================
    - - - - - - - - - - - - - - - 启动 hdfs - - - - - - - - - - - - - - -
    Starting namenodes on [hadoop102]
    Starting datanodes
    Starting secondary namenodes [hadoop104]
    - - - - - - - - - - - - - - - 启动 yarn - - - - - - - - - - - - - - -
    Starting resourcemanager
    Starting nodemanagers
    - - - - - - - - - - - - - - - 启动 historyserver - - - - - - - - - - - - - - -

      

      

    停止集群

      

    myhadoop.sh stop

    [mq@hadoop102 bin]$ myhadoop.sh stop
    =================== 关闭 hadoop集群 ===================
    - - - - - - - - - - - - - - - 关闭 historyserver - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - 关闭 yarn - - - - - - - - - - - - - - -
    Stopping nodemanagers
    Stopping resourcemanager
    - - - - - - - - - - - - - - - 关闭 hdfs - - - - - - - - - - - - - - -
    Stopping namenodes on [hadoop102]
    Stopping datanodes
    Stopping secondary namenodes [hadoop104]

      
      
      

      

    编写脚本快捷查看三台服务器 Java 进程

      

    想要看每个服务器进程,就要到各自的服务器中输入 jps 命令,太麻烦了!

      

    在用户的 bin 目录下写脚本:

    [mq@hadoop102 bin]$ pwd
    /home/mq/bin
    [mq@hadoop102 bin]$ vim jspall

    #!/bin/bash
    
    for host in hadoop102 hadoop103 hadoop104
    do
            echo =============== $host ===============
            ssh $host jps
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    保存后退出,然后赋予脚本执行权限

    [mq@hadoop102 bin]$ chmod 777 jpsall

      

      

    查看命令

      

    jpsall

    [mq@hadoop102 bin]$ jpsall
    =============== hadoop102 ===============
    20037 NameNode
    20198 DataNode
    20489 NodeManager
    20665 JobHistoryServer
    20956 Jps
    =============== hadoop103 ===============
    16706 DataNode
    17027 NodeManager
    16893 ResourceManager
    17583 Jps
    =============== hadoop104 ===============
    16964 SecondaryNameNode
    17052 NodeManager
    17420 Jps
    16847 DataNode

  • 相关阅读:
    隐藏用户的创建和使用
    Spring Boot整合Spring mvc(文件上传/拦截器)
    游戏安全03:缓冲区溢出攻击简单解释
    回溯框架总结
    突然发现ONLYOFFICE支持了.wps格式系列文件了
    GFP-GAN学习笔记
    Java抽象类和普通类区别、 数组跟List的区别
    Android Studio 导入工程&Gradle和JDK配置&修改工程名称&修改包名
    rabbitMQ的direct模式的生产者与消费者使用案例
    SpringBoot整合七牛云实现图片的上传管理
  • 原文地址:https://blog.csdn.net/qq_56952363/article/details/125591560