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 "Jitendra Nath Pandey (JIRA)" <ji...@apache.org> on 2015/03/10 22:30:39 UTC

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

    [ https://issues.apache.org/jira/browse/HADOOP-11699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14355760#comment-14355760 ] 

Jitendra Nath Pandey commented on HADOOP-11699:
-----------------------------------------------

bq. Is the toLowerCase necessary?
I think toLowerCase is in line with the current convention in hadoop to use lowercase for service principals. We have seen kerberos having trouble with upper case characters in the hortnames. KerberosUtil.java#getServicePrincipal has a comment that states this problem.

> _HOST not consistently resolving to lowercase fully qualified hostname on Windows
> ---------------------------------------------------------------------------------
>
>                 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
>            Assignee: Brahma Reddy Battula
>
> 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)