hive 运行中断

这篇博客主要讲述了在使用Hive过程中遇到的三个常见问题及其解决方法。问题包括:1) 服务器时间不同步导致的运行中断,可以通过执行ntpdate同步时间;2) Hive的Java heap space错误,可能需要调整Hive的执行并行参数或者增加内存配置;3) metastore服务启动失败,通常由于磁盘空间不足,但直接清理/tmp可能导致其他问题。提供了相关链接供参考。

问题1:

Status: Failed
Vertex failed, vertexName=Map 1, vertexId=vertex_1445859407654_1651_2_00, diagnostics=[Task failed, taskId=task_1445859407654_1651_2_00_000001, diagnostics=[TaskAttempt 0 failed, info=[Container launch failed for container_e15_1445859407654_1651_01_000009 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. 
This token is expired. current time is 1447387258347 found 1446183962017
Note: System times on machines may be out of sync. Check system time and time zones.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.instantiateException(SerializedExceptionPBImpl.java:168)
        at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.deSerialize(SerializedExceptionPBImpl.java:106)
        at org.apache.tez.dag.app.launcher.ContainerLauncherImpl$Container.launch(ContainerLauncherImpl.java:168)
        at org.apache.tez.dag.app.launcher.ContainerLauncherImpl$EventProcessor.run(ContainerLauncherImpl.java:380)
        at java.util.con
Hive on Spark运行时出现 `call interrupted` 错误,可能由多种原因导致,以下是一些常见的解决办法: ### 资源不足 - 增加集群资源:如果集群资源(如内存、CPU)不足,可能会导致任务中断。可以通过增加节点数量、扩大节点的资源配置等方式来增加集群资源。例如,在YARN集群中,可以调整 `yarn.nodemanager.resource.memory-mb` 和 `yarn.nodemanager.resource.cpu-vcores` 等参数来增加每个节点的资源量。 ```xml <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>32768</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>16</value> </property> ``` - 调整Spark任务资源分配:可以通过调整Spark相关参数,如 `spark.driver.memory`、`spark.executor.memory` 和 `spark.executor.cores` 等,来合理分配任务所需的资源。 ```sql SET spark.driver.memory=4g; SET spark.executor.memory=8g; SET spark.executor.cores=4; ``` ### 网络问题 - 检查网络连接:确保集群中各个节点之间的网络连接稳定,没有丢包、延迟过高等问题。可以使用 `ping` 和 `traceroute` 等工具来检查网络连通性。 - 调整网络参数:可以适当调整Spark和Hive的网络参数,如 `spark.network.timeout` 等,以避免因网络延迟导致任务中断。 ```sql SET spark.network.timeout=600s; ``` ### 任务执行时间过长 - 优化查询语句:检查Hive查询语句是否存在性能问题,如全表扫描、重复计算等。可以通过创建合适的索引、分区表等方式来优化查询性能。 - 调整任务超时时间:可以增加Spark任务的超时时间,避免因任务执行时间过长而被中断。可以通过设置 `spark.task.maxFailures` 和 `spark.akka.timeout` 等参数来实现。 ```sql SET spark.task.maxFailures=10; SET spark.akka.timeout=1200s; ``` ### 系统负载过高 - 监控系统负载:使用系统监控工具(如 `top`、`vmstat` 等)来监控集群节点的系统负载情况,确保系统没有出现过载现象。 - 调整任务并发度:如果集群中同时运行的任务过多,可能会导致系统负载过高。可以适当调整任务的并发度,减少同时运行的任务数量。 ### 软件版本兼容性问题 - 检查版本兼容性:确保Hive、Spark和其他相关组件的版本兼容,避免因版本不兼容导致的错误。可以参考官方文档来选择合适的版本组合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值