文章目录
前言
上篇文章笔者简单介绍了HDFS Federation新方案RBF里的connection管理。RBF虽说在功能上只是帮助client做请求转发的,在角色功能定位上相当于一个代理的角色。但RBF的这个“代理”远比我们平常说的代理服务要复杂许多。RBF的核心服务Router在设计实现上被赋予了远比普通代理服务更为全面,成熟的功能。因此集群维护者需要对RBF有足够的了解,同时需要提前考虑到RBF可能存在的一些问题和挑战,这样才能将RBF真正更好的服务于底层的NameNode服务。本文笔者来聊聊部署RBF需要面对的问题和挑战,鉴于笔者也还在探索RBF的阶段中,本文暂不讨论相应的解决方案。
一. Router层面的潜在问题
如果我们想在集群中上线RBF功能,那么首先我们要对里面的Router服务做到相当深程度的了解。这里笔者列出下面几点需要考虑的问题点。在RBF部署生产前,我们需要能够做到很好地了解并知道怎么解决下面提及到的问题。
Router的性能测试,对请求延时的影响
Router作为介于client和下游NN的中间层,相比较于原始client直接访问NN的方式,毫无疑问,这里面会多了一定的处理延时。在测试环境中,我们需要清楚的知道这部分的处理延时的影响,会有多少比重的处理时间的耗损,轻微幅度处理时间的上涨是可以接受的。
Router间如何做到本地状态的一致性
Router在实现上是一个无状态的服务,它所需要的诸如mount table等状态数据信息都是保存在外部的State Store上的。然后Router间通过shared的State Store对外提