hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5587) add debug information when NFS fails to start with duplicate user or group names
Date Mon, 02 Dec 2013 23:12:35 GMT

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

Brandon Li commented on HDFS-5587:
----------------------------------

With duplicated name or id, NFS gateway will print the following error message to explain
the cause and steps to find the duplicates:

{noformat}
NFS gateway can't start with duplicate name or id on the host system.
This is because HDFS (non-kerberos cluster) uses name as the only way to identify a user or
group.
The host system with duplicated user/group name or id might work fine most of the time by
itself.
However when NFS gateway talks to HDFS, HDFS accepts only user and group name.
Therefore, same name means the same user or same group. To find the duplicated names/ids,
one can do:
<getent passwd | cut -d: -f1,3> and <getent group | cut -d: -f1,3> on Linux systms,
<dscl . -list /Users UniqueID> and <dscl . -list /Groups PrimaryGroupID> on MacOS.
{noformat}

> add debug information when NFS fails to start with duplicate user or group names
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-5587
>                 URL: https://issues.apache.org/jira/browse/HDFS-5587
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: nfs
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>            Priority: Minor
>         Attachments: HDFS-5587.001.patch
>
>
> When the host provides duplicate user or group names, NFS will not start and print errors
like the following:
> {noformat}
> ... ... 
> 13/11/25 18:11:52 INFO nfs3.Nfs3Base: registered UNIX signal handlers for [TERM, HUP,
INT]
> Exception in thread "main" java.lang.IllegalArgumentException: value already present:
s-iss
> at com.google.common.base.Preconditions.checkArgument(Preconditions.java:115)
> at com.google.common.collect.AbstractBiMap.putInBothMaps(AbstractBiMap.java:112)
> at com.google.common.collect.AbstractBiMap.put(AbstractBiMap.java:96)
> at com.google.common.collect.HashBiMap.put(HashBiMap.java:85)
> at org.apache.hadoop.nfs.nfs3.IdUserGroup.updateMapInternal(IdUserGroup.java:85)
> at org.apache.hadoop.nfs.nfs3.IdUserGroup.updateMaps(IdUserGroup.java:110)
> at org.apache.hadoop.nfs.nfs3.IdUserGroup.<init>(IdUserGroup.java:54)
> at org.apache.hadoop.hdfs.nfs.nfs3.RpcProgramNfs3.<init>(RpcProgramNfs3.java:172)
> at org.apache.hadoop.hdfs.nfs.nfs3.RpcProgramNfs3.<init>(RpcProgramNfs3.java:164)
> at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.<init>(Nfs3.java:41)
> at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.main(Nfs3.java:52)
> 13/11/25 18:11:54 INFO nfs3.Nfs3Base: SHUTDOWN_MSG:
> ... ...
> {noformat}
> The reason NFS should not start is that, HDFS (non-kerberos cluster) uses name as the
only way to identify a user. On some linux box, it could have two users with the same name
but different user IDs. Linux might be able to work fine with that most of the time. However,
when NFS gateway talks to HDFS, HDFS accepts only user name. That is, from HDFS' point of
view, these two different users are the same user even though they are different on the Linux
box.
> The duplicate names on Linux systems sometimes is because of some legacy system configurations,
or combined name services.
> Regardless, NFS gateway should print some help information so the user can understand
the error and the remove the duplicated names before NFS restart.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message