2016-06-10 82 views
3

我检查我的名节点的日志,我发现这一点:的Hadoop名称节点 - 用于用户匿名的,你组

2016-06-04 03:09:28,843 INFO BlockStateChange (BlockManager.java:computeReplicationWorkForBlocks(1527)) - BLOCK* neededReplications = 0, pendingReplications = 0. 
2016-06-04 03:09:28,960 WARN security.UserGroupInformation (UserGroupInformation.java:getGroupNames(1521)) - No groups available for user anonymous 
... (x8) 
2016-06-04 03:09:29,119 WARN security.UserGroupInformation (UserGroupInformation.java:getGroupNames(1521)) - No groups available for user anonymous 
2016-06-04 03:09:29,945 INFO hdfs.StateChange (FSNamesystem.java:completeFile(3503)) - DIR* completeFile: /spark-history/.abde470b-daaa-4dc7-9097-35d778fe3a5a is closed by DFSClient_NONMAPREDUCE_1292395454_1 

在这个时候,有群集上没有处理,没有人再努力它。此警告随机出现在日志中。

经过进一步的调查,没有用户匿名创造,我发现一无所知..

你有任何想法哪里看?这个用户是“匿名”的?谢谢。

回答

2

此警告通常表示您的用户在Hadoop集群中的所有节点的主机操作系统中未定义/可见。 Hadoop代码通过咨询底层操作系统来确定用户的组成员集。如果用户在OS层未知,那么Hadoop会看到一组空白的组成员并记录此警告。

典型的修复方法是确保用户在集群中的所有节点上定义,例如通过运行useradd。对于大型生产集群来说,与集中式LDAP服务器集成显然使得这种集群更易于管理。

或者,您可以选择忽略该警告。如果您的应用程序不依赖任何组的成员身份(例如授予对组访问权限的HDFS文件权限),那么对于您的用例来说,这可能是可以接受的。

你可以看到HDFS用户hdfs-site.xml

有关详细信息,请参阅的答案HDFS permission guide

+0

感谢。任何关于哪个用户没有定义的想法? – Mouette