• 【Hadoop】- MapReduce & YARN的部署[8]


    目录

    一、部署说明

    二、集群规划

    三、MapReduce配置文件

    四、YARN配置文件

    五、分发配置文件

    六、集群启动命令

    七、查看YARN的WEB UI 页面


    一、部署说明

    • Hadoop HDFS分布式文件系统,我们会启动:
      • NameNode进程作为管理节点
      • DataNode进程作为工作节点
      • SecondaryNamenode作为辅助
    • 同理,Hadoop YARN分布式资源调度,会启动:
      • ResourceManager进程作为管理节点
      • NodeManager进程作为工作节点
      • ProxyServer、JobHistoryServer这两个辅助节点
    • MapReduce呢?
      • MapReduce运行在YARN容器内,无需启动独立进程

    二、集群规划

    有3台服务器,其中node1配置较高

    集群规划如下:

    主机角色
    node1

    NodeManager

    ResourceManager

    ProxyServer

    JobHistoryServer

    node2NodeManager
    node3NodeManager

    三、MapReduce配置文件

    在 $HADOOP_HOME/etc/hadoop文件夹内,修改:

    1、mapred-env.sh文件,添加如下环境变量

    1. # 设置JDK路径
    2. export JAVA_HOME=/export/server/jdk
    3. # 设置JobHistoryServer进程内存为1G
    4. export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
    5. # 设置日志级别为INFO
    6. export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

    2、mapred-site.xml文件,添加如下配置信息

    1. <property>
    2. <name>mapreduce.framework.name</name>
    3. <value>yarn</value>
    4. <description>MapReduce的运行框架设置为YARN</description>
    5. </property>
    6. <property>
    7. <name>mapreduce.jobhistory.address</name>
    8. <value>node1:10020</value>
    9. <description>历史服务器通讯端口为 node1:10020</description>
    10. </property>
    11. <property>
    12. <name>mapreduce.jobhistory.webapp.address</name>
    13. <value>node1:19888</value>
    14. <description>历史服务器web端口为node119888</description>
    15. </property>
    16. <property>
    17. <name>mapreduce.jobhistory.intermediate-done-dir</name>
    18. <value>/data/mr-history/tmp</value>
    19. <description>历史信息在HDFS的记录临时路径</description>
    20. </property>
    21. <property>
    22. <name>mapreduce.jobhistory.done-dir</name>
    23. <value>/data/mr-history/done</value>
    24. <description>历史信息在HDFS的记录路径</description>
    25. </property>
    26. <property>
    27. <name>yarn.app.mapreduce.am.env</name>
    28. <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    29. <description>MapReduce HOME 设置为HADOOP_HOME</description>
    30. </property>
    31. <property>
    32. <name>mapreduce.map.env</name>
    33. <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    34. <description>MapReduce HOME 设置为HADOOP_HOME</description>
    35. </property>
    36. <property>
    37. <name>mapreduce.reduce.env</name>
    38. <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    39. <description>MapReduce HOME 设置为HADOOP_HOME</description>
    40. </property>

    四、YARN配置文件

    在 $HADOOP_HOME/etc/hadoop 文件夹内,修改:

    • yarn-env.sh文件,添加如下4行环境变量内容:
    1. # 设置JDK路径的环境变量
    2. export JAVA_HOME=/export/server/jdk
    3. # 设置 HADOOP_HOME的环境变量
    4. export HADOOP_HOME=/export/server/hadoop
    5. # 设置配置文件路径的环境变量
    6. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    7. # 设置日志文件路径的环境变量
    8. expOrt HADOOP_LOG_DIR=$HADOOP_HOME/logs
    • yarn-site.xml文件,添加一下内容:
    1. <property>
    2. <name>yarn.resourcemanager.hostname</name>
    3. <value>node1</value>
    4. <description>ResourceManager设置在nodel节点</description>
    5. </property>
    6. <property>
    7. <name>yarn.nodemanager.local-dirs</name>
    8. <value>/data/nm-local</value>
    9. <description>NodeManager中间数据本地存储路径</description>
    10. </property>
    11. <property>
    12. <name>yarn.nodemanager.log-dirs</name>
    13. <value>/data/nm-log</value>
    14. <description>NodeManager数据日志本地存储路径</description>
    15. </property>
    16. <property>
    17. <name>yarn.nodemanager.aux-services</name>
    18. <value>mapreduce_shuffle</value>
    19. <description>为MapReduce程序开启Shuffle服务</description>
    20. </property>
    21. <property>
    22. <name>yarn.log.server.url</name>
    23. <value>http://node1:19888/jobhistory/logs</value>
    24. <description>历史服务器URL</description>
    25. </property>
    26. <property>
    27. <name>yarn.web-proxy.address</name>
    28. <value>node1:8089</value>
    29. <description>代理服务器主机和端口</description>
    30. </property>
    31. <property>
    32. <name>yarn.log-aggregation-enable</name>
    33. <value>true</value>
    34. <description>开启日志聚合</description>
    35. </property>
    36. <property>
    37. <name>yarn.nodemanager.remote-app-log-dir</name>
    38. <value>/tmp/logs</value>
    39. <description>程序日志HDFS的存储路径</description>
    40. </property>
    41. <property>
    42. <name>varn.resourcemanager.scheduler.class</name>
    43. <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    44. <description>选择公平调度器</description>
    45. </property>

    五、分发配置文件

    MapReduce和YARN的配置文件修改好后,需要分发到其他的服务器节点中。

    1. scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node2:`pwd`/
    2. scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node3:`pwd`/

    分发完成配置文件,就可以启动YARN的相关进程啦。

    六、集群启动命令

    • 一键启动YARN集群:$HADOOP_HOME/sbin/start-yarn.sh
    • 一键停止YARN集群:$HADOOP_HOME/sbin/stop-yarn.sh
    • 单独启动或停止进程
      • yarn --daemon  start | stop  resourcemaneger | resourcemaneger | proxyserver
      • 可控制resourcemaneger 、resourcemaneger 、proxyserver三种进程
    • 历史服务器启动和停止
      • $HADOOP_HOME/bin/mapred  --daemon  start | stop  historyserver

    七、查看YARN的WEB UI 页面

    打开http://node1:8088即可查看YARN集群的监控页面

  • 相关阅读:
    kubernetes集群编排(7)
    分布式机器学习:逻辑回归的并行化实现(PySpark)
    redis -- 基本介绍 -- 字符串、列表、集合、有序集合、哈希
    Centos7.6 源码编译部署percona mysql 5.7.39-42
    介孔二氧化硅纳米球 Mesoporous silica nanosphere 的介孔二氧化硅纳米球
    自动驾驶行业观察之2023上海车展-----车企发展趋势(3)
    网络安全复习笔记
    洛谷P1064[NOIP2006 提高组] 金明的预算方案题解
    Go-Excelize API源码阅读(三十三)—— RemoveCol
    CASAIM与南京航空航天大学在自动化叶片曲面分析系统开展合作,推动航空航天发动机零部件自动化3D检测进程
  • 原文地址:https://blog.csdn.net/weixin_63106307/article/details/138036782