深度剖析 - 大规模集群下 Hadoop NameNode 如何

2019-09-29  本文已影响0人  alexlee666

如果大量客户端对 NameNode 发起高并发(比如每秒上千次)访问来修改元数据,此时 NameNode 该如何抗住?

一、问题分析

以大量add新文件到DataNode为例,NameNode需要将【add文件】record写入到编辑日志edits log文件(磁盘文件)中,并将edits log同步到JournalNode中。


二、解决方案

2.1 解决思路

方案【多线程 + 加锁 + 每次写磁盘和网络传输】的问题在于,线程会出现阻塞,极大影响了效率。那么解决问题的方向就在于【如何让线程不阻塞】。

2.2 HDFS的方案:【加锁 + 内存双缓冲 + 批量写磁盘和网络传输】

2.2.1 加锁 + 内存双缓冲
2.2.2 批量写磁盘和网络传输
【内存双缓冲 + 批量写磁盘和网络传输】

参考:http://www.sohu.com/a/275932372_463994

上一篇下一篇

猜你喜欢

热点阅读