Hadoop中YARN的部署

一.什么是YARN

当你在Hadoop集群上运行大型数据处理作业时,YARN就像一个管理者,负责协调整个过程。想象一下你是一位活动组织者,需要协调一场盛大的活动。你需要考虑参与者之间的资源分配,确保每个人都能得到他们所需的空间和设备。YARN就是这样一个资源管理器,它负责分配集群中的计算资源给不同的应用程序。它知道哪个节点有多少处理器和内存可用,并根据应用程序的需求将任务分配给合适的节点。这样,整个集群就可以高效地工作,每个任务都能得到需要的资源,同时不会浪费任何资源。

简言之,YARN就是一个分布式资源调度平台。

yarn的作用?

yarn的作用是给mapreduce提供计算资源

yarn中都调度了哪些集群资源?

内存资源和cpu资源

yarn中资源调度的目的是什么?

提高集群资源的利用率,防止部分程序恶意占用资源, 采用申请制,申请多少资源就使用多少资源

yarn是hadoop生态圈发展的前提:

yarn不光可以对于hadoop平台的MR任务进行资源调度,可以对于所有的基于yarn的规则申请资源的服务进行资源调度,也就保证了我们基于hadoop组件运行的其他大数据服务可以获得合理的资源分配.

除了MapReduce,我们的Yarn还支持多种计算引擎 spark,flink等..

二.YARN的集群规划

集群部署前提:提前创建好至少三台虚拟机我们暂称其为node1、node2、node3。

思考1: 哪一个角色占用资源最多???

ResourceManager

所以我们将RM放置在node1中,因为node1的服务器性能最好

思考2: hadoop中yarn集群可以和hdfs集群在同一台服务器中么?

可以,一般Hadoop服务部署时,hdfs和yarn逻辑上分离,物理上在一起.

yarn分配的是内存和cpu资源, 从而运行MapReduce计算任务,而该计算任务需要获取计算数据,计算数据存放在hdfs上,所以他们物理上在一起后数据传输速度快.

三.YARN的部署步骤

**注意:**我们这个部署方案是在hdfs已经部署完成的基础上进行操作的,不是从0开始(hdfs部署方案我抽空整理完就发)。

步骤:

1.先关闭HDFS集群

stop-dfs.sh

2.修改配置文件

进入/export/server/hadoop/etc/hadoop目录下进行修改

①修改mapred-site.xml文件

<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- MR程序历史服务器端地址 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node1:10020</value>

</property>

<!-- 历史服务器web端地址 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node1:19888</value>

</property>

<property>

<name>yarn.app.mapreduce.am.env</name>

<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

<property>

<name>mapreduce.map.env</name>

<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

<property>

<name>mapreduce.reduce.env</name>

<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

②修改yarn-site.xml文件

<!-- 设置YARN集群主角色运行机器位置 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node1</value>

</property>

<!-- 为MapReduce开启shuffle服务 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- NodeManager本地数据存储路径 -->

<property>

<name>yarn.nodemanager.local-dirs</name>

<value>/data/nm-local</value>

</property>

<!-- NodeManager日志数据存储路径 -->

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>/data/nm-log</value>

</property>

<!-- 设置yarn历史服务器地址 -->

<property>

<name>yarn.log.server.url</name>

<value>http://node1:19888/jobhistory/logs\</value>

</property>

<!-- 开启日志聚集 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

修改完node1上的配置文件后,需要远程发送到node2和node3中

scp -r /export/server/hadoop root@node2:/export/server

scp -r /export/server/hadoop root@node3:/export/server

四.Yarn集群的启停

1.Yarn集群的启动

启动yarn集群

start-yarn.sh

停止yarn集群

stop-yarn.sh

2.Yarn服务单独启停

yarn --daemon start|stop|status resourcemanager|nodemanager

3.hdfs与yarn集群同时启动

大部分时候我们是不需要单独启动各个服务的,这样会比较费时与繁琐,通常我们会一键启一hdfs和yarn集群。

启动

start-all.sh

终止

stop-all.sh

到此,我们的YARN集群便部署完毕,mapreduce任务可以正常执行啦!

相关推荐
武子康20 小时前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康2 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库2 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟2 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人2 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长2 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人2 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城2 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
中烟创新2 天前
灯塔AI智能体获评“2025-2026中国数智科技年度十大创新力产品”
大数据·人工智能·科技