HDFS-3395. NN doesn't start with HA+security enabled and HTTP address set to 0.0.0.0. Contributed by Aaron T. Myers.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1336690 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Aaron Myers 2012-05-10 13:49:06 +00:00
parent f1ff05bf47
commit f5960f71d9
3 changed files with 9 additions and 3 deletions

View File

@ -140,7 +140,7 @@ public class NetUtils {
/** /**
* Util method to build socket addr from either: * Util method to build socket addr from either:
* <host>:<post> * <host>:<port>
* <fs>://<host>:<port>/<path> * <fs>://<host>:<port>/<path>
*/ */
public static InetSocketAddress createSocketAddr(String target) { public static InetSocketAddress createSocketAddr(String target) {
@ -150,7 +150,7 @@ public class NetUtils {
/** /**
* Util method to build socket addr from either: * Util method to build socket addr from either:
* <host> * <host>
* <host>:<post> * <host>:<port>
* <fs>://<host>:<port>/<path> * <fs>://<host>:<port>/<path>
*/ */
public static InetSocketAddress createSocketAddr(String target, public static InetSocketAddress createSocketAddr(String target,

View File

@ -631,6 +631,9 @@ Release 2.0.0 - UNRELEASED
HDFS-3396. FUSE build fails on Ubuntu 12.04. (Colin Patrick McCabe via eli) HDFS-3396. FUSE build fails on Ubuntu 12.04. (Colin Patrick McCabe via eli)
HDFS-3395. NN doesn't start with HA+security enabled and HTTP address
set to 0.0.0.0. (atm)
BREAKDOWN OF HDFS-1623 SUBTASKS BREAKDOWN OF HDFS-1623 SUBTASKS
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd) HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)

View File

@ -714,8 +714,11 @@ public class DFSUtil {
public static String substituteForWildcardAddress(String configuredAddress, public static String substituteForWildcardAddress(String configuredAddress,
String defaultHost) throws IOException { String defaultHost) throws IOException {
InetSocketAddress sockAddr = NetUtils.createSocketAddr(configuredAddress); InetSocketAddress sockAddr = NetUtils.createSocketAddr(configuredAddress);
InetSocketAddress defaultSockAddr = NetUtils.createSocketAddr(defaultHost
+ ":0");
if (sockAddr.getAddress().isAnyLocalAddress()) { if (sockAddr.getAddress().isAnyLocalAddress()) {
if(UserGroupInformation.isSecurityEnabled()) { if (UserGroupInformation.isSecurityEnabled() &&
defaultSockAddr.getAddress().isAnyLocalAddress()) {
throw new IOException("Cannot use a wildcard address with security. " + throw new IOException("Cannot use a wildcard address with security. " +
"Must explicitly set bind address for Kerberos"); "Must explicitly set bind address for Kerberos");
} }