flume写入hdfs间歇性出现无法关闭的bug处理总结

先说结论,没有解决这个bug,只是记录一下处理步骤,因为是第一次处理分布式系统的bug,mentor一步步指导如何看log。时间隔得太久了,写的就只能很简略了。。。

首先是要定位bug出现的地方hadoop fs -ls以后一个个找,一直到找到出现问题的文件。然后看他在那个datanode上。之后切到那个datanode上去看。

从有问题datanode上找到exception。发现是一个和hdfs有关的问题。于是去看hdfs的log。hdfs那边主要看block之间的问题。block的命名第一串数字是全局id,第二串数字是version。通过看那个log发现是block在向下传输时重试5次都失败。于是切换到重试的那几个namenode上,发现checksum有问题,于是去网上搜索。发现hdfs 6937这个问题,而且没有解决。鉴于处理hdfs源码太麻烦了,就决定先不处理,在迁移机房的时候看看能不能通过升级版本解决。

参考文献

http://blog.cloudera.com/blog/2015/02/understanding-hdfs-recovery-processes-part-1/
http://blog.csdn.net/mindfloating/article/details/48174047
http://fangjian0423.github.io/2015/06/22/flume-channel/


本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。

本文链接:http://thousandhu.github.io/2015/11/11/flume写入hdfs间歇性出现无法关闭的bug处理总结/