MapReduce服务 MRS-优化HDFS NameNode RPC的服务质量:配置场景

时间:2023-11-01 16:25:29

配置场景

本章节适用于MRS 3.x及后续版本。

数个成品Hadoop集群由于NameNode超负荷运行并失去响应而发生故障。

这种阻塞现象是由于Hadoop的初始设计造成的。在Hadoop中,NameNode作为单独的机器,在其namespace内协调HDFS的各种操作。这些操作包括获取数据块位置,列出目录及创建文件。NameNode接受HDFS的操作,将其视作RPC调用并置入FIFO调用队列,供读取线程处理。虽然FIFO在先到先服务的情况下足够公平,但如果用户执行的I/O操作较多,相比I/O操作较少的用户,将获得更多的服务。在这种情况下,FIFO有失公平并且会导致延迟增加。

图1 基于FIFO调用队列的NameNode请求处理

如果将FIFO队列替换为一种被称作FairCallQueue的新型队列,这种情况就能够得到改善。按照这种方法,FAIR队列会根据调用者的调用规模将传入的RPC调用分配至多个队列中。调度模块会跟踪最新的调用,并为调用量较小的用户分配更高的优先级。

图2 基于FAIRCallQueue的NameNode请求处理
support.huaweicloud.com/cmpntguide-mrs/mrs_01_1672.html