hadoop异常问题解决

Q1、NameNode报: java.lang.OutOfMemoryError: GC overhead limit exceeded

原因:经查看hadoop 堆内存只有4G,而文件+块数有2千万个,每个占用150B,需要3G左右内存,另外namenode还需要负责与DATANODE通信等等,故导致OOM

解决办法:

调整conf/hadoop-env.sh中的堆内存大小:

export HADOOP_HEAPSIZE=6000
export HADOOP_NAMENODE_INIT_HEAPSIZE=6000

然后重启hadoop namenode :

/home/hadoop/hadoop-2.2.0/sbin/hadoop-daemon.sh start namenode

另外需尽量合并小文件、删除不需要的数据,减少 文件数和块数。



Q2:yarn启用日志汇聚问题

当自定义container日志存放目录(yarn.nodemanager.remote-app-log-dir参数指定),提示以下信息:

Logs not available for attempt_1506090137795_0001_m_000000_0. Aggregation may not be complete, Check back later or try the nodemanager at slave2:10929

<!--开启日志汇聚-->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>864000</value>
</property>

<property>
    <name>yarn.log-aggregation.retain-check-interval-seconds</name>
    <value>-1</value>
</property>

<!--
<property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/tmp/hadoop-yarn/staging/contains</value>
    <description>default dir /tmp/logs 目前发现必须使用默认目录,自定义目录无法汇聚</description>  
</property>
-->

采取默认目录/tmp/logs后正常,尚未发现具体原因。

另外必须重启所有hdfs+yarn服务后生效,通过yarn rmadmin -refreshNodes来刷新配置并无作用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值