如何在Apache Hive上使用YARN?

2022-04-11 00:00:00 查询 专区 作业 启动 海牛

海牛学院的 | 第 585 
本文预计阅读 | 分钟

YARN是一种软件重写,可将MapReduce的资源管理和调度功能与数据处理组件分离开来,从而使Hadoop支持更多样化的处理方法和更广泛的应用程序。例如,Hadoop集群现在可以与MapReduce批处理作业同时运行交互式查询和流数据应用程序。接下来,我们将在Apache Hive上使用Apache YARN。

将文件添加到yarn-site.xml你的/usr/local/hadoop/etc/hadoop文件夹中,其中包含以下内容:

<configuration>  <property>    <name>yarn.app.mapreduce.am.resource.mb</name>    <value>1024</value>  </property>  <property>    <name>yarn.app.mapreduce.am.command-opts</name>    <value>-Xmx768m</value>  </property>  <property>    <name>mapreduce.framework.name</name>    <value>yarn</value>    <description>Execution framework.</description>  </property>  <property>    <name>mapreduce.map.cpu.vcores</name>    <value>1</value>    <description>The number of virtual cores required for each map task.</description>  </property>  <property>    <name>mapreduce.reduce.cpu.vcores</name>    <value>1</value>    <description>The number of virtual cores required for each map task.</description>  </property>  <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value>  </property>  <property>    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>    <value>org.apache.hadoop.mapred.ShuffleHandler</value>  </property>  <property>    <name>mapreduce.map.memory.mb</name>    <value>1024</value>    <description>Larger resource limit for maps.</description>  </property>  <property>    <name>mapreduce.map.java.opts</name>    <value>-Xmx768m</value>    <description>Heap-size for child jvms of maps.</description>  </property>  <property>    <name>mapreduce.reduce.memory.mb</name>    <value>1024</value>    <description>Larger resource limit for reduces.</description>  </property>  <property>    <name>mapreduce.reduce.java.opts</name>    <value>-Xmx768m</value>    <description>Heap-size for child jvms of reduces.</description>  </property>  <property>    <name>mapreduce.jobtracker.address</name>    <value>jobtracker.alexjf.net:8021</value>  </property></configuration>


首先,使用以下命令启动DFS:



接下来,使用以下命令启动YARN Resource Manager  yarn resourcemanager start: 


然后,使用以下命令启动YARN Node Manager yarn nodemanager start:



启动你的Hive CLI并触发insert查询,因为它是MapReduce查询:


现在,为什么这项工作失败了?有两种查看应用程序日志的方法。一种是通过键入command yarn logs -applicationId <applicationId>:


而另一种是通过导航到YARN UI作业跟踪URL所指定的作业排名。


从错误消息中,你可以看到你使用的虚拟内存超过了当前1.0 GB的限制。这可以通过两种方式解决:一种是通过将你的内存yarn.app.mapreduce.am.resource.mb增加到更高的值,例如4096。另一个是在启动Hive时触发查询来指定此设置:


现在,即使你导航到YARN UI,查询也将成功。


以上,希望本篇内容对你有用。

需要完整学习线路和配套课堂笔记的小海牛,请后台直接回复【学习线路、笔记、思维导图】

如果在学习过程中遇到了难题,请直接后台私信我,或在下方评论区说出你的问题,我们将会每日收集并做出专业解答。


更多技术干货,请在后台回复“技术论坛”。


备注 “ 进群 ” (广告勿扰)
【海牛大数据交流群】

 唔~要这个 ↓↓↓

相关文章