1 edits_log越积越多的问题
HADOOP 2.6.X版本,在非HA模式下,仍然使用的的是secondarynamenode合并editslog的方法 。
当secondarynamenode不能正确合并的时候,有可能是secondaryname的堆太小了,如果edtislog的文件太多,
就会导致合并失败。
可以调整
# The maximum amount of heap to use, in MB. Default is 1000.
export HADOOP_HEAPSIZE=2000
export HADOOP_NAMENODE_INIT_HEAPSIZE="2000m"
editslog和fsimage合并机制 https://www.iteblog.com/archives/969.html
2 如果edits_log在合并的过程中报错
java.io.IOException: Bad edit log manifest (expected txid = 546466527: [[553680251,553988865],
这个是由于edtis文件中间有损坏导致的,可以先停掉namenode然后在上面执行
./bin/hadoop namenode -recover
进行强制合并,就可以将有损坏的editslog顺利合并了
https://stackoverflow.com/questions/43149893/unable-to-start-the-name-node-in-hadoop
如果secondarynamenode正常启动后,自己可以自动合并edits log的,也可以强制合并,命令如下
../bin/hadoop secondarynamenode -checkpoint
相关的合并目录在/data/hadoop_tmp/dfs/namesecondary/目录下,此处对应的配置为core-site.xml中的:
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/hadoop_tmp</value>
</property>
3 YARN堆内在溢出,导致Resoursemanager挂掉
java.lang.OutOfMemoryError: Java heap space
可以设置
export YARN_RESOURCEMANAGER_HEAPSIZE=2048
增大堆内存,防止挂掉