分享

datanode默认每6小时blockreport讨论

louiscool2 发表于 2015-10-26 14:33:08 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 12308
如题,默认是每6小时blockreport一次,存在的意义呢?集群启动的时候会report一次,后续对文件的新增、删除相关操作首先是在namenode操作的。所以namenode是有最新block信息的。难道是考虑实际到namenode做了block元信息的更新后,实际到datanode可能会失败,不能保证一致设计的?

已有(2)人评论

跳转到指定楼层
arsenduan 发表于 2015-10-26 15:33:35
namenode有edits和editslog这些是对操作日志的记录,还有一些元数据信息,datanode上报block位置信息,namenode更新BlockMap。
也即是说虽然操作经过了namenode,但是实际上只是记录了进行了什么操作,具体位置信息是没有记录的,所以需要blockreport
回复

使用道具 举报

louiscool2 发表于 2015-10-27 10:43:10
感谢回复,据我了解写数据的时候是会向namenode申请block的,这步会返回block相应datanode位置的。如果“也即是说虽然操作经过了namenode,但是实际上只是记录了进行了什么操作,具体位置信息是没有记录的,所以需要blockreport”
namenode没记录位置,只靠datanode 的每六小时的blockreport,时间太长,应该不对。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条