在DFSClient 中
this.namenode = proxyInfo.getProxy();
proxyInfo 用于和NameNode通信的对象
在HA模式下
首先创建 failoverProxyProvider
AbstractNNFailoverProxyProvider<T> failoverProxyProvider =
createFailoverProxyProvider(conf, nameNodeUri, xface, true,
fallbackToSimpleAuth);
createFailoverProxyProvider方法体如下,
从hadoop 配置文件中读出AbstractNNFailoverProxyProvider子类名,一般为 ConfiguredFailoverProxyProvider
// Obtain the class of the proxy provider
failoverProxyProviderClass = getFailoverProxyProviderClass(conf,
nameNodeUri);
...
// Create a proxy provider instance.
Constructor<FailoverProxyProvider<T>> ctor = failoverProxyProviderC