You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by to...@apache.org on 2012/04/16 23:51:43 UTC
svn commit: r1326812 - in
/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs: CHANGES.txt
src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java
src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
Author: todd
Date: Mon Apr 16 21:51:42 2012
New Revision: 1326812
URL: http://svn.apache.org/viewvc?rev=1326812&view=rev
Log:
HDFS-3284. bootstrapStandby fails in secure cluster. Contributed by Todd Lipcon.
Modified:
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1326812&r1=1326811&r2=1326812&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Mon Apr 16 21:51:42 2012
@@ -400,6 +400,8 @@ Release 2.0.0 - UNRELEASED
HDFS-3268. FileContext API mishandles token service and incompatible with
HA (Daryn Sharp via todd)
+ HDFS-3284. bootstrapStandby fails in secure cluster (todd)
+
BREAKDOWN OF HDFS-1623 SUBTASKS
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java?rev=1326812&r1=1326811&r2=1326812&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/BootstrapStandby.java Mon Apr 16 21:51:42 2012
@@ -51,6 +51,7 @@ import org.apache.hadoop.hdfs.server.nam
import org.apache.hadoop.hdfs.server.namenode.TransferFsImage;
import org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol;
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.io.IOUtils;
import org.apache.hadoop.io.MD5Hash;
@@ -144,8 +145,8 @@ public class BootstrapStandby implements
private HAServiceProtocol createHAProtocolProxy()
throws IOException {
- return new NNHAServiceTarget(new HdfsConfiguration(conf),
- nsId, otherNNId).getProxy(conf, 15000);
+ return new NNHAServiceTarget(new HdfsConfiguration(conf), nsId, otherNNId)
+ .getProxy(conf, 15000);
}
private int doRun() throws IOException {
@@ -334,7 +335,7 @@ public class BootstrapStandby implements
@Override
public void setConf(Configuration conf) {
- this.conf = conf;
+ this.conf = DFSHAAdmin.addSecurityConfiguration(conf);
}
@Override
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java?rev=1326812&r1=1326811&r2=1326812&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java Mon Apr 16 21:51:42 2012
@@ -46,22 +46,33 @@ public class DFSHAAdmin extends HAAdmin
@Override
public void setConf(Configuration conf) {
if (conf != null) {
- // Make a copy so we don't mutate it. Also use an HdfsConfiguration to
- // force loading of hdfs-site.xml.
- conf = new HdfsConfiguration(conf);
- String nameNodePrincipal = conf.get(
- DFSConfigKeys.DFS_NAMENODE_USER_NAME_KEY, "");
- if (LOG.isDebugEnabled()) {
- LOG.debug("Using NN principal: " + nameNodePrincipal);
- }
-
- conf.set(CommonConfigurationKeys.HADOOP_SECURITY_SERVICE_USER_NAME_KEY,
- nameNodePrincipal);
+ conf = addSecurityConfiguration(conf);
}
super.setConf(conf);
}
/**
+ * Add the requisite security principal settings to the given Configuration,
+ * returning a copy.
+ * @param conf the original config
+ * @return a copy with the security settings added
+ */
+ public static Configuration addSecurityConfiguration(Configuration conf) {
+ // Make a copy so we don't mutate it. Also use an HdfsConfiguration to
+ // force loading of hdfs-site.xml.
+ conf = new HdfsConfiguration(conf);
+ String nameNodePrincipal = conf.get(
+ DFSConfigKeys.DFS_NAMENODE_USER_NAME_KEY, "");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Using NN principal: " + nameNodePrincipal);
+ }
+
+ conf.set(CommonConfigurationKeys.HADOOP_SECURITY_SERVICE_USER_NAME_KEY,
+ nameNodePrincipal);
+ return conf;
+ }
+
+ /**
* Try to map the given namenode ID to its service address.
*/
@Override