优化HDFS DataNode RPC的服务质量
配置场景
当客户端写入HDFS的速度大于DataNode的硬盘带宽时,硬盘带宽会被占满,导致DataNode失去响应。客户端只能通过取消或恢复通道进行规避,这会导致写入失败及不必要的通道恢复操作。
MRS引入配置参数“dfs.pipeline.ecn”。当该配置启用时,DataNode会在写入通道超出负荷时从其中发出信号。客户端可以基于该阻塞信号进行退避,从而防止系统超出负荷。引入该配置参数的目的是为了使通道更加稳定,并减少不必要的取消或恢复操作。收到信号后,客户端会退避一定的时间(5000ms),然后根据相关过滤器调整退避时间(单次退避最长时间为50000ms)。
约束与限制
本章节适用于MRS 3.x及后续版本。
操作步骤
- 登录FusionInsight Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
- 搜索以下参数名称,并根据需要修改参数值。
表1 NameNode ECN配置 参数
描述
缺省值
dfs.pipeline.ecn
在DataNode启用拥塞信令能力。
开启该配置后,DataNode能够向客户端发送阻塞通知。
false
- 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。