You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Kevin Minder (JIRA)" <ji...@apache.org> on 2015/03/10 01:26:38 UTC

[jira] [Created] (HADOOP-11699) _HOST not consistently resolving to lowercase fully qualified hostname

Kevin Minder created HADOOP-11699:
-------------------------------------

             Summary: _HOST not consistently resolving to lowercase fully qualified hostname
                 Key: HADOOP-11699
                 URL: https://issues.apache.org/jira/browse/HADOOP-11699
             Project: Hadoop Common
          Issue Type: Bug
          Components: security
    Affects Versions: 2.6.0
            Reporter: Kevin Minder


The _HOST marker used for Kerberos principals in various configuration files does not always return lowercase fully qualified hostnames.  For example this setting in hdfs-site.xml
{code}
<property>
  <name>dfs.namenode.kerberos.principal</name>
  <value>hdfs/_HOST@YOURREALM.COM</value>
</property>
{code}

In particular, this is impeding our work to have Hadoop work with equivalent security on Windows as on Linux.

In the windows env in which I'm having the issue, I was able to get a fully qualified host name using this version of method getLocalHostName() in .  
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java

{code:java}
  public static String getLocalHostName() throws UnknownHostException {
    String hostname = InetAddress.getLocalHost().getCanonicalHostName();
    if ( !hostname.contains( "." ) ) {
      final String os = System.getProperties().getProperty( "os.name", "?" ).toLowerCase();
      if ( os.startsWith( "windows" ) ) {
        String domain = System.getenv( "USERDNSDOMAIN" );
        if ( domain != null ) {
          hostname += "." + domain.trim();
        }
      }
    }
    return hostname == null ? "localhost" : hostname.toLowerCase();
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)