MapReduce配置和Yarn的集群部署

本文详细介绍了YARN架构,包括主从节点的角色划分及其功能,以及MapReduce的配置文件调整,如HADOOP_HOME下的环境变量设置和yarn-site.xml的配置。还涵盖了如何分发配置文件,启动和停止YARN集群,以及提交MapReduce程序到YARN运行的过程。

一、集群环境,还是如下三台服务器

  • 192.168.32.101 node1
  • 192.168.32.102 node2
  • 192.168.32.103 node3

二、YARN架构

  1. YARN,主从架构,有2个角色
  • 主(Master)角色:ResourceManager
  • 从(Slave) 角色:NodeManager
  1. 两个角色各自的功能是什么?
  • ResourceManager: 管理、统筹并分配整个集群的资源
  • NodeManager:管理、分配单个服务器的资源,即创建管理容器,由容器提供资源供程序使用
  1. 什么是YARN的容器?
  • 容器(Container)是YARN的NodeManager在所属服务器上分配资源的手段
  • 创建一个资源容器,即由NodeManager占用这部分资源
  • 然后应用程序运行在NodeManager创建的这个容器内
  • 应用程序无法突破容器的资源限制
  1. YARN辅助角色
  • 代理服务器(ProxyServer):Web Application Proxy Web应用程序代理
  • 历史服务器(JobHistoryServer): 应用程序历史信息记录服务

三、MapReduce配置文件

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

  1. mapred-env.sh文件,添加如下环境变量
# 设置JDK路径
export JAVA_HOME=/export/jdk
# 设置JobHistoryServer进程内存为1G
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
# 设置日志级别为INFO
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
  1. mapred-site.xml文件,添加如下配置信息
<!-- 针对MR任务,它会将mapreduce作业提交给resourcemanage -->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    <!--job运行日志信息访问地址 -->
    <property>
     
### YARN 集群部署教程 YARN(Yet Another Resource Negotiator)是 Hadoop 的资源管理框架,用于管理调度集群中的计算资源。以下是关于如何在分布式环境中配置部署 Hadoop YARN 的详细介绍。 #### 1. 环境准备 为了成功部署 YARN 集群,需确保以下条件已满足: - 已安装并正确配置 Java 开发环境。 - 安装了 Hadoop 并完成了伪分布式或完全分布式模式的设置[^1]。 - 所有节点之间可以通过 SSH 密钥无密码访问。 #### 2. 修改核心配置文件 `core-site.xml` 编辑 Hadoop 的核心配置文件 `core-site.xml`,定义默认的文件系统路径: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode_host:9000</value> </property> </configuration> ``` 上述代码中,`namenode_host` 是 NameNode 节点的主机名或 IP 地址。 #### 3. 编辑 HDFS 配置文件 `hdfs-site.xml` 此文件主要用于配置 HDFS 数据存储位置以及副本数量: ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> ``` 这里设定的数据块复制因子为 3,具体数值可根据实际需求调整。 #### 4. 配置 YARN 文件 `yarn-site.xml` 这是最关键的一步,在该文件中指定 ResourceManager NodeManager 的地址以及其他重要参数: ```xml <configuration> <!-- 设置ResourceManager的位置 --> <property> <name>yarn.resourcemanager.hostname</name> <value>resourcemanager_host</value> </property> <!-- 启用NodeManager上的日志聚集功能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间(单位秒) --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>86400</value> </property> <!-- MapReduce作业提交到哪个队列 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 其中,`resourcemanager_host` 应替换为 ResourceManager 主机的实际名称或 IP 地址。 #### 5. 更新 MapReduce 框架配置 `mapred-site.xml` MapReduce 使用 YARN 运行时需要修改其框架配置文件: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 这一步指定了 MapReduce 将运行于 YARN 上而不是本地执行模式。 #### 6. 初始化 HDFS 文件系统 如果尚未初始化 HDFS,则通过如下命令完成操作: ```bash hdfs namenode -format ``` #### 7. 启动服务 依次启动 HDFS YARN 服务: ```bash start-dfs.sh start-yarn.sh ``` 此时可以验证各组件状态是否正常工作。 --- ### 总结 以上步骤涵盖了从基础环境搭建至最终启动整个过程的关键环节。每项配置均基于官方文档推荐的最佳实践设计而成。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java刘先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值