Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hado

1.解决步骤:打开 /tmp/root/hive.log查看日志,没有发现什么有用的

2.开启mapereduce 的histroy;  $sbin/mr_jobhistory_daemon.sh start historyserver

3.从jobhistory/job/job_1526113286554_0004的

Diagnostics:
REDUCE capability required is more than the supported max container capability in the cluster. Killing the Job. reduceResourceRequest: <memory:16384, vCores:1> maxContainerCapability:<memory:8192, vCores:32>
Job received Kill while in RUNNING state.
4.配置问题, 在安装脚本从训练营的拖下来的配置文件中的yarn-site.xml中有如下配置

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>10000</value>

</property>

这是说每个container最多申请的内存上限,会不会存在一个container申请过多资源的情况,只要没超过10Gyarn就不会管他,但是可能超过机器内存限制了,然后就被OOM killer杀死了

但是在mapred-site.xml中也有如下设置,

<property>

<name>yarn.app.mapreduce.am.command-opts</name>

<value>-Djava.net.preferIPv4Stack=true -Xmx100m</value>

</property>

<property>

<name>mapreduce.map.java.opts</name>

<value>-Djava.net.preferIPv4Stack=true -Xmx100m</value>

</property>

<property>

<name>mapreduce.reduce.java.opts</name>

<value>-Djava.net.preferIPv4Stack=true -Xmx100m</value>

</property>
### 回答1: 这是一个Hive执行操作时出现错误的提示,错误信息为“failed: execution error, return code 2 from org.apache.hadoop.hive”。需要进一步检查Hive的日志以确定具体的错误原因。 ### 回答2: 这个错误信息是由Hadoop的Hive组件产生的,它通常意味着Hive在执行HQL语句时遇到了一个错误。在大多数情况下,这个错误是由于一个或多个问题引起的。下面是一些常见的原因,导致这个错误: 1.语法错误:如果HQL语句包含语法错误,Hive就会生成这个错误。检查错误提示信息,看看是否有语法错误,如拼写错误、缺少括号、丢失分号等。 2. 表不存在:如果HQL语句中查询的表不存在,Hive将抛出这个错误。确保表不存在之前,首先在Hive中创建它。 3. 权限问题:如果执行语句的用户没有足够的权限来查看或操作数据,则Hive会生成这个错误。检查当前用户是否有足够的权限,并确保他们拥有对相关表或文件的读写权限。 4. 数据格式错误:有时,Hive无法正确处理查询结果中的数据。这可能是因为数据格式不正确,如数据类型不匹配、字符串格式错误等。检查数据格式是否正确,并尝试使用正确的数据类型。 5. 程序错误:如果执行的Hive程序出现错误,也会生成这个错误。在调试程序时,可以检查程序的日志或输出,以找出哪些部分出了问题。 总之,错误代码2通常表示在执行HQL语句时遇到了问题。在排除上述问题并确定出错原因后,我们可以修复问题并重新执行查询或其他Hive任务。 ### 回答3: 这个错误通常是由于Hive查询的执行出现了问题造成的。其中,org.apache.hadoop.hive指的是Hive的一个内部库,该库是Hadoop的一个重要组成部分,用于执行Hive查询和数据操作的任务。 造成错误的原因很多,常见的包括: 1. 查询操作超过了Hive的内存限制。Hive会将查询过程中产生的一些中间数据存储到内存中,如果数据量太大,就会导致内存溢出。 2. 查询所需的数据已被删除或移动,无法被找到。这通常是由于数据源的问题或数据仓库管理的不当造成的。 3. Hive元数据出现了问题。元数据是Hive用于管理数据的一种方法,如果元数据错误或已被修改,则可能导致执行查询时出现问题。 4. Hadoop集群出现故障。Hadoop是Hive所依赖的底层架构,如果Hadoop集群发生故障,可能导致Hive查询无法正常执行。 对于这个问题,需要根据具体情况进行排查和解决。可以采取以下措施: 1. 尝试优化查询,减少内存占用。可以通过调整Hive的内存限制等参数来实现。 2. 确保所需的数据存在并能够被访问。可以检查数据源位置是否正确,是否有足够的权限等。 3. 检查Hive元数据是否正确。可以通过执行一些Hive元数据管理操作来检查和修复问题。 4. 检查Hadoop集群是否正常。可以通过查看Hadoop系统日志等方式来检查和修复问题。 需要注意的是,在进行排查问题时,需要仔细检查错误提示信息并仔细分析,这样才能找到问题的根源并采取相应的措施解决问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值