Hadoop名称节点 - 没有可供匿名用户使用的组

时间:2016-06-10 12:22:46

标签: hadoop hdfs

我正在检查我的名称节点的日志,我发现了这个:

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

在这个时刻,群集上没有任何处理,没有人正在处理它。此警告随机出现在日志中。

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

你有什么想法可以看吗?这个用户“匿名”是什么?感谢。

1 个答案:

答案 0 :(得分:2)

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

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

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

您可以在hdfs-site.xml

中看到hdfs用户

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