HDFS-14089. RBF: Failed to specify server's Kerberos pricipal name in NamenodeHeartbeatService. Contributed by Ranith Sardar.

This commit is contained in:
Brahma Reddy Battula 2018-11-22 08:26:22 +05:30
parent f2355c7063
commit 19088e1b49
2 changed files with 2 additions and 7 deletions

View File

@ -38,6 +38,7 @@
import org.apache.hadoop.hdfs.server.federation.resolver.NamenodeStatusReport; import org.apache.hadoop.hdfs.server.federation.resolver.NamenodeStatusReport;
import org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol; import org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol;
import org.apache.hadoop.hdfs.server.protocol.NamespaceInfo; import org.apache.hadoop.hdfs.server.protocol.NamespaceInfo;
import org.apache.hadoop.hdfs.tools.DFSHAAdmin;
import org.apache.hadoop.hdfs.tools.NNHAServiceTarget; import org.apache.hadoop.hdfs.tools.NNHAServiceTarget;
import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONObject; import org.codehaus.jettison.json.JSONObject;
@ -108,7 +109,7 @@ public NamenodeHeartbeatService(
@Override @Override
protected void serviceInit(Configuration configuration) throws Exception { protected void serviceInit(Configuration configuration) throws Exception {
this.conf = configuration; this.conf = DFSHAAdmin.addSecurityConfiguration(configuration);
String nnDesc = nameserviceId; String nnDesc = nameserviceId;
if (this.namenodeId != null && !this.namenodeId.isEmpty()) { if (this.namenodeId != null && !this.namenodeId.isEmpty()) {

View File

@ -14,8 +14,6 @@
package org.apache.hadoop.fs.contract.router; package org.apache.hadoop.fs.contract.router;
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION;
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_SERVICE_USER_NAME_KEY;
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_BLOCK_ACCESS_TOKEN_ENABLE_KEY;
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY;
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_KEY; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_HTTPS_ADDRESS_KEY;
@ -109,10 +107,6 @@ public static Configuration initSecurity() throws Exception {
spnegoPrincipal = spnegoPrincipal =
SPNEGO_USER_NAME + "/" + krbInstance + "@" + kdc.getRealm(); SPNEGO_USER_NAME + "/" + krbInstance + "@" + kdc.getRealm();
// Set auth configuration for mini DFS
conf.set(HADOOP_SECURITY_AUTHENTICATION, "kerberos");
conf.set(HADOOP_SECURITY_SERVICE_USER_NAME_KEY, routerPrincipal);
// Setup principles and keytabs for dfs // Setup principles and keytabs for dfs
conf.set(DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY, routerPrincipal); conf.set(DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY, routerPrincipal);
conf.set(DFS_NAMENODE_KEYTAB_FILE_KEY, keytab); conf.set(DFS_NAMENODE_KEYTAB_FILE_KEY, keytab);