【问题标题】:Hive returning error while running insert query运行插入查询时 Hive 返回错误
【发布时间】:2020-12-28 15:50:13
【问题描述】:

我正在尝试使用 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. prelaunch.err 的最后 4096 字节:最后 4096 字节 标准错误:错误:无法找到或加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster 请检查是否 您的 /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=${full 你的 hadoop 分发目录的路径}

查看我的 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 mapreduce apache-tez


    【解决方案1】:

    经过一番研究,我更新了配置,现在可以从 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 还包含 jar 的路径。

     <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 端口上运行作业并跟踪它们的进度

    最好的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多