NameNode镜像文件和DataNode限流小结

1.我们知道NameNode会在本地内存中保存整个集群的所有数据块信息,其中包括每个数据块属于哪个文件,哪个数据块属于哪个DataNode等信息,都在NameNode的本地内存中保存着,NameNode为了在重启时仍然能够重构出这些元数据信息,他会定期存储一份镜像fsimage文件+实时的editlog修改命令文件,fsImage镜像文件会存储NameNode节点当前内存中的元数据信息,这是一份全量的备份,可以通过hdfs oiv命令操作,editlog文件类似一份增量的命令,对数据块元数据的任何修改操作都会写一个命令到editlog文件中,这样当NameNode重启时,他会首先从镜像文件中加载全量的数据到本地内存中,随后再把增量的editlog日志文件应用到NameNode的本地内存中,这样就可以重建出NameNode的完整的本地内存映像。

2.DataNode的限流
限流操作一般常用的代码是while(当前速度>设定的限流速度) wait(指定的时间),通过对当前线程进行休眠的方式来达到限流的目的,hdfs中,DataNode节点数据的重平衡操作,镜像文件生成等操作都需要对磁盘IO限流,目的是为了防止进行重平衡等操作的时候影响到业务的正常IO读写.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值