Package org.apache.hadoop.hdfs.server.federation.router
@Private
@Evolving
package org.apache.hadoop.hdfs.server.federation.router
The router package includes the core services for a HDFS federation router.
The
Router acts as a transparent proxy in front of a cluster of
multiple NameNodes and nameservices. The RouterRpcServer exposes the
NameNode clientProtocol and is the primary contact point for DFS clients in a
federated cluster.-
ClassDescriptionContext to track a connection in a
ConnectionPool.Implements a pool of connections for theRouterto be able to open many connections to many Namenodes.Exception when can not get a non-null connection.Maintains a pool of connections for each User (including tokens) + NN.Identifier for a connection for a user to a namenode.Tool to start theRouterfor Router-based federation.Module that implements all the RPC calls inClientProtocolrelated to Erasure Coding in theRouterRpcServer.Utilities for managing HDFS federation.Detect if the Router is active and ready to serve requests.This service is invoked fromMountTableStorewhen there is change in mount table entries and it updates mount table entry cache on local router as well as on all remote routers.Base class for updating mount table cache on all the router.TheRouterperiodically checks the state of a Namenode (usually on the same server) and reports their high availability (HA) state and load/space status to theStateStoreService.Interface for enable/disable name service.This exception is thrown when can not get any mount point for the input path.Exception when no namenodes are available.Service to periodically execute a runnable.An alignment context shared by all connections in aConnectionPool.Module that implements the quota relevant RPC callsClientProtocol.setQuota(String, long, long, StorageType)andClientProtocol.getQuotaUsage(String)in theRouterRpcServer.Config fields for router-based hdfs federation.Base class for objects that are unique to a namespace.Determines the remote client protocol method and the parameter list for a specific location.A dynamically assignable parameter that is location-specific.Result from a remote location.Router that provides a unified view of multiple federated HDFS clusters.This class is responsible for handling all the Admin calls to the HDFS router.Module that implements all the RPC calls inClientProtocolrelated to Cache Admin in theRouterRpcServer.Client to connect to theRoutervia the admin protocol.This class is for maintaining the various Router Client activity statistics and publishing them through the metrics interfaces.Module that implements all the RPC calls inClientProtocolin theRouterRpcServer.ForGetLisitingto sort results.Rename across router federation namespaces based on federation balance.Wrapper for the Router to offer the Namenode FSCK.This class is used in Namesystem's web server to do fsck on namenode.Service to periodically update the Router current state in the State Store.Web interface for theRouter.This class is for maintaining the various Router activity statistics and publishing them through the metrics interfaces.Service to manage the metrics of the Router.Module that implements all the RPC calls inNamenodeProtocolin theRouterRpcServer.A servlet to print out the network topology from router.Class that helps in checking permissions in Router-based federation.Router quota manager in Router.Service to periodically update theRouterQuotaUsagecached information in theRouter.The subclass ofQuotaUsageused in Router-based federation.Build the instance based on the builder.A client proxy for Router to NN communication using the NN ClientProtocol.TheRouterRpcClient.ExecutionStatusclass is a utility class used to track the status of execution operations performed by theRouterRpcClient.Metrics and monitoring interface for the router RPC server.This class is responsible for handling all of the RPC calls to the It is created, started, and stopped byRouter.Service to periodically check if theStateStoreServicecached information in theRouteris up to date.States of the Router.Module that implements all the RPC calls related to snapshots inClientProtocolin theRouterRpcServer.This is the router implementation to hold the state Ids for all namespaces.Interface of managing the Router state.Module that implements all the RPC calls inClientProtocolrelated to Storage Policy in theRouterRpcServer.Module that implements all the RPC calls inRefreshUserMappingsProtocolGetUserMappingsProtocolin theRouterRpcServer.WebHDFS Router implementation.Exception when timing out waiting for the reply of a subcluster.The ThreadLocalContext class is designed to capture and transfer the context of a thread-local environment within the Hadoop Distributed File System (HDFS) federation router operations.