我正在尝试运行一个insert查询,并使用mapreduce面对以下错误
应用程序application_1609169302439_0001失败2次,原因是appattempt_1609169302439_0001_000002的AM容器退出,exitCode: 1失败,此attempt.Diagnostics: 2020-28 16:29:05.332源于容器启动。容器id: container_1609169302439_0001_02_000001退出代码: 1 2020-12-28 16:29:05.335容器与非零退出代码一起退出。错误文件: prelaunch.err。最后4096字节的prelaunch.err :最后4096字节的stderr :prelaunch.err:未能找到或加载主类prelaunch.err请检查/etc/ hadoop /mapred-site.xml是否包含以下配置: yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${ hadoop分发目录的完整路径} mapreduce.map.env HADOOP_MAPRED_HOME=${ hadoop分发目录的完整路径} mapreduce.reduce.env HADOOP_MAPRED_HOME=${hadoop分发目录的完整路径}
在查看mapred-site.xml配置文件时
mapreduce.jobtracker.address localhost:54311 mapreduce.framework.name纱yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME mapreduce.map.env HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME mapreduce.reduce.env HADOOP_MAPRED_HOME=$HADOOP_MAPRED_HOME
我的理解是,这是一个配置问题,但无法找到任何清晰和简单的答案,什么是我的系统缺失。
我以前安装过tez,但也不起作用。
任何帮助或指导都将得到认可。我浏览了网站,可以找到类似的问题报告,但无法修复我的基础上提供的解决方案。
最好的
发布于 2020-12-29 10:57:57
经过一些研究,我更新了我的配置,现在我可以从hive运行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>the还包含到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上的进度。
最好的
https://stackoverflow.com/questions/65480281
复制相似问题