@Private @Evolving
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.| Interface | Description |
|---|---|
| NameserviceManager |
Interface for enable/disable name service.
|
| RouterRpcMonitor |
Metrics and monitoring interface for the router RPC server.
|
| RouterStateManager |
Interface of managing the Router state.
|
| Class | Description |
|---|---|
| ConnectionContext |
Context to track a connection in a
ConnectionPool. |
| ConnectionManager |
Implements a pool of connections for the
Router to be able to open
many connections to many Namenodes. |
| ConnectionPool |
Maintains a pool of connections for each User (including tokens) + NN.
|
| ConnectionPoolId |
Identifier for a connection for a user to a namenode.
|
| DFSRouter |
Tool to start the
Router for Router-based federation. |
| ErasureCoding |
Module that implements all the RPC calls in
ClientProtocol related to
Erasure Coding in the RouterRpcServer. |
| FederationConnectionId | |
| FederationUtil |
Utilities for managing HDFS federation.
|
| IsRouterActiveServlet |
Detect if the Router is active and ready to serve requests.
|
| MountTableRefresherService |
This service is invoked from
MountTableStore when there is change in
mount table entries and it updates mount table entry cache on local router as
well as on all remote routers. |
| MountTableRefresherThread |
Base class for updating mount table cache on all the router.
|
| NamenodeHeartbeatService |
The
Router periodically checks the state of a Namenode (usually on
the same server) and reports their high availability (HA) state and
load/space status to the
StateStoreService
. |
| PeriodicService |
Service to periodically execute a runnable.
|
| PoolAlignmentContext |
An alignment context shared by all connections in a
ConnectionPool. |
| Quota |
Module that implements the quota relevant RPC calls
ClientProtocol.setQuota(String, long, long, StorageType)
and
ClientProtocol.getQuotaUsage(String)
in the RouterRpcServer. |
| RBFConfigKeys |
Config fields for router-based hdfs federation.
|
| RemoteLocationContext |
Base class for objects that are unique to a namespace.
|
| RemoteMethod |
Determines the remote client protocol method and the parameter list for a
specific location.
|
| RemoteParam |
A dynamically assignable parameter that is location-specific.
|
| RemoteResult<T extends RemoteLocationContext,R> |
Result from a remote location.
|
| Router |
Router that provides a unified view of multiple federated HDFS clusters.
|
| RouterAdminServer |
This class is responsible for handling all the Admin calls to the HDFS
router.
|
| RouterCacheAdmin |
Module that implements all the RPC calls in
ClientProtocol related to Cache Admin
in the RouterRpcServer. |
| RouterClient |
Client to connect to the
Router via the admin protocol. |
| RouterClientMetrics |
This class is for maintaining the various Router Client activity statistics
and publishing them through the metrics interfaces.
|
| RouterClientProtocol |
Module that implements all the RPC calls in
ClientProtocol in the
RouterRpcServer. |
| RouterFederationRename |
Rename across router federation namespaces based on federation balance.
|
| RouterFsck |
Wrapper for the Router to offer the Namenode FSCK.
|
| RouterFsckServlet |
This class is used in Namesystem's web server to do fsck on namenode.
|
| RouterHeartbeatService |
Service to periodically update the Router current state in the State Store.
|
| RouterHttpServer |
Web interface for the
Router. |
| RouterMetrics |
This class is for maintaining the various Router activity statistics
and publishing them through the metrics interfaces.
|
| RouterMetricsService |
Service to manage the metrics of the Router.
|
| RouterNamenodeProtocol |
Module that implements all the RPC calls in
NamenodeProtocol in the
RouterRpcServer. |
| RouterNetworkTopologyServlet |
A servlet to print out the network topology from router.
|
| RouterPermissionChecker |
Class that helps in checking permissions in Router-based federation.
|
| RouterQuotaManager |
Router quota manager in Router.
|
| RouterQuotaUpdateService |
Service to periodically update the
RouterQuotaUsage
cached information in the Router. |
| RouterQuotaUsage |
The subclass of
QuotaUsage used in Router-based federation. |
| RouterQuotaUsage.Builder |
Build the instance based on the builder.
|
| RouterRpcClient |
A client proxy for Router to NN communication using the NN ClientProtocol.
|
| RouterRpcServer |
This class is responsible for handling all of the RPC calls to the It is
created, started, and stopped by
Router. |
| RouterSafemodeService |
Service to periodically check if the
StateStoreService cached information in the Router is up to date. |
| RouterSnapshot |
Module that implements all the RPC calls related to snapshots in
ClientProtocol in the RouterRpcServer. |
| RouterStoragePolicy |
Module that implements all the RPC calls in
ClientProtocol related to
Storage Policy in the RouterRpcServer. |
| RouterUserProtocol |
Module that implements all the RPC calls in
RefreshUserMappingsProtocol GetUserMappingsProtocol in the
RouterRpcServer. |
| RouterWebHdfsMethods |
WebHDFS Router implementation.
|
| Enum | Description |
|---|---|
| RouterFederationRename.RouterRenameOption | |
| RouterServiceState |
States of the Router.
|
| Exception | Description |
|---|---|
| ConnectionNullException |
Exception when can not get a non-null connection.
|
| NoLocationException |
This exception is thrown when can not get any mount point for the input path.
|
| NoNamenodesAvailableException |
Exception when no namenodes are available.
|
| SubClusterTimeoutException |
Exception when timing out waiting for the reply of a subcluster.
|
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.