【HDFS】HDFS-14090 RBF: Improved isolation for downstream name nodes. {Static}

此PR的目标:
让Router下面的namespace隔离。防止healthy/faster namenodes被unhealthy/slow/overloaded namenodes拖累。

JIRA链接:https://issues.apache.org/jira/browse/HDFS-14090

实现原理:

关键方法:
AbstractRouterRpcFairnessPolicyController#acquirePermitAbstractRouterRpcFairnessPolicyController#releasePermit

acquirePermit表示获取许可(信号量),releasePermit表示释放许可(信号量)。底层获取和释放是借助于JUC包下的工具类:Semaphore来实现的。

一个RPC请求发到Router这层之后,需要通过RouterRpcFairnessPolicyController去获取下层namespace的执行许可。

RouterRpcClient#acquirePermit对controller的获取许可的方法进行了封装:

  /**
   * Acquire permit to continue processing the request for specific nsId.
   *
   * @param nsId Identifier of the block pool.
   * @param ugi UserGroupIdentifier ass

你可能感兴趣的:(HDFS全方位实战,hdfs,java,hadoop)