在Windows平台上有没有办法将用户添加到hdfs组(任何)?我无法将Windows用户本身分配给组,因为我在计算机上没有管理员权限。
更广泛的问题是,当我尝试在hadoop上运行mapred任务时,它会休眠并用"security.UserGroupInformation: No groups available for user"
警告我。如果有什么变通办法,我会很高兴知道的。
更广泛的问题是,当我试图在hadoop上运行mapred任务时,它会休眠并警告我"security.UserGroupInformation:没有可供用户使用的组"。
从Apache Hadoop 2.3.0(以及更高版本)开始,Hadoop支持在Hadoop的配置(core-site.xml)中定义静态组映射的功能。Apache JIRA Hadoop-10142跟踪了该功能的开发。
例如,您可以在core-site.xml中指定用户"myuser"属于一个组:"mygroup"。当定义静态组映射时,Hadoop内部的所有其他组查找机制都会被绕过,所以您不会再看到这个错误了。
以下是core-default.xml 中的属性文档
<property>
<name>hadoop.user.group.static.mapping.overrides</name>
<value>dr.who=;</value>
<description>
Static mapping of user to groups. This will override the groups if
available in the system for the specified user. In otherwords, groups
look-up will not happen for these users, instead groups mapped in this
configuration will be used.
Mapping should be in this format.
user1=group1,group2;user2=;user3=group2;
Default, "dr.who=;" will consider "dr.who" as user without groups.
</description>
</property>
如果您想使用此功能,则需要在更改配置后重新启动Hadoop守护进程。
使用此功能是一种权衡,因为它通常比依赖操作系统进行组解析更难维护。然而,它可以帮助管理像这样的服务帐户上频繁的组查找,而很少更改组成员身份。在从LDAP获取组成员身份的环境中,它还可以通过阻止这些组查找来大大降低LDAP基础结构的负载。