一个journode启动异常的处理
2019-04-17 15:33 ljinch 阅读(835) 评论(0) 收藏 举报异常日志如下:
org.apache.hadoop.hdfs.server.namenode.FSImage: Caught exception after scanning through 0 ops from /usr/local/hadoop/tmp/data/dfs/journalnode/ns1/current/edits_inprogress_0000000000000018926 while determining its valid length. Position was 1040384
java.io.IOException: Can't scan a pre-transactional edit log.

此异常为JournalNode维护的edits文件损坏导致的,可从其他机器复制对应的JournalNode文件进行替换,具体步骤为:
1) 备份本地journalnode文件: tar -zcvf current.bak.tar.gz current
2) 打包集群中其他正常机器的journalnode文件:cd /usr/local/hadoop/tmp/data/dfs/journalnode/ns1
tar -zcvf current.tar.gz current
3)复制到异常机器下面: scp current.tar.gz hadooptest003://usr/local/hadoop/tmp/data/dfs/journalnode/ns1
4)在异常机器下面删除current文件并进行覆盖
rm -rf current
tar -zxvf current.tar.gz
5) 启动journode后,正常
./hdfs --daemon start journalnode
浙公网安备 33010602011771号