问题描述
我正在尝试使用 mapreduce 运行插入查询并面临以下错误
应用程序 application_1609169302439_0001 由于 AM 失败 2 次
appattempt_1609169302439_0001_000002 的容器已退出
exitCode: 1 这次尝试失败。诊断: [2020-12-28
16:29:05.332]容器启动异常。容器标识:
container_1609169302439_0001_02_000001 退出代码:1 [2020-12-28
16:29:05.335]容器以非零退出代码 1 退出。错误文件:
预启动.错误。 prelaunch.err 的最后 4096 字节:最后 4096 字节
标准错误:错误:无法找到或加载主类
org.apache.hadoop.mapreduce.v2.app.MRAppMaster 请检查是否
您的
在查看我的 mapred-site.xml 配置文件时
<configuration>
<property>
<name>mapreduce.jobtracker.address</name>
<value>localhost:54311</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME</value>
</property>
</configuration>
我的理解是这是一个配置问题,但找不到任何明确和简单的答案我的系统中缺少什么。
我之前安装过 tez 但它也不起作用。
感谢任何帮助或指导。我浏览了网站,可以找到报告的类似问题,但无法根据提供的解决方案修复我的问题。
最佳
解决方法
经过一番研究,我更新了配置,现在可以从 hive cli 运行 mapreduce 作业
这是 mapred-site.xml 的更新部分
> <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> <property>
> <name>mapreduce.application.classpath</name>
> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/common/*,$HADOOP_MAPRED_HOME/share/hadoop/common/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/lib/*</value>
> </property>
yarn-site.xml 还包含 jars 的路径。
<property>
<name>yarn.application.classpath</name>
<value>
%HADOOP_HOME%\etc\hadoop,%HADOOP_HOME%\share\hadoop\common\*,%HADOOP_HOME%\share\hadoop\common\lib\*,%HADOOP_HOME%\share\hadoop\hdfs\*,%HADOOP_HOME%\share\hadoop\hdfs\lib\*,%HADOOP_HOME%\share\hadoop\mapreduce\*,%HADOOP_HOME%\share\hadoop\mapreduce\lib\*,%HADOOP_HOME%\share\hadoop\yarn\*,%HADOOP_HOME%\share\hadoop\yarn\lib\*
</value>
</property>
在这些更新并重新启动集群后,我可以运行作业并在端口 8088 上跟踪它们的进度
最佳