hadoop、hive常见问题及解决方式


1、hive查询卡死

现象:执行hive查询时,迟迟不能出现map-reduce任务进度

原因:空间不足导致,清理掉无用的文件,释放出空间即可。通常建议剩余空间为查询数据的两倍


2、hdfs使用空间超出实际占用空间

现象:通过hdfs dfs-du-h/命令查看到各个目录所占的空间

原因:因为删除操作,大量的垃圾文件堆积在/user/root/.Trash ,这个目录可视为垃圾回收区,对应的配置为:

<property>
  <name>fs.trash.interval</name>
  <value>1440</value>
  <description>Number of minutes between trash checkpoints.
  If zero, the trash feature is disabled.
  </description>
</property>

确认无用后,删除即可。

hdfs dfs -rm -r /user/root/.Trash

通过此项,释放了100多G的磁盘空间。

开启trash之后,其实在执行删除时也能够看到日志:

18/01/04 09:04:19 INFO fs.TrashPolicyDefault: Moved: 'hdfs://nameservice1/xxx/xxx/xxx/20170601/xxx.txt' to trash at: hdfs://nameservice1/user/root/.Trash/Current/xxx/xxx/xxx/xxx/xxx.txt
这时删除并非真正删除,而只是移动到了trash区。

3、手动释放系统cache

现象:使用free -m查询内存使用状况时,发现free空间只有不足1G,而buff/cache占用的几十G的空间。这是linux系统本身的策略,并非真实的内存不足。访问文件过多时就会产生这种现象。但free空间不足,也会导致系统运行缓慢。


              total        used        free      shared  buff/cache   available
Mem:          64260       19600       26140        5724       18519       38336
Swap:          2047         246        1801

必要时可使用命令:

echo 3 > /proc/sys/vm/drop_caches 
手动释放内存。但需要谨慎,执行前最好使用sync 将dirty的内容写回硬盘 ,并且确认不会对其他正在执行中的任务产生影响。

4、Spark任务执行时间超长甚至始终无法结束,部分情况也可能是磁盘空间不足导致。除内存使用状况外,可用磁盘空间也是需要关注的指标。当可用空间不足10%时,尽可能释放出足够的空间供任务执行使用。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值