安全 Hadoop - Datanode 无法与 namenode 连接

Posted

技术标签:

【中文标题】安全 Hadoop - Datanode 无法与 namenode 连接【英文标题】:Secure Hadoop - Datanode cannot connect with namenode 【发布时间】:2015-05-21 05:24:11 【问题描述】:

我正在使用 hadoop-2.6.0 并在 windows 平台上创建了具有 kerberos 安全性的 HA 启用集群。如果权限设置为 false,一切正常。但是当我启用以下属性时,

hdfs-site.xml

<property>
    <name>dfs.permissions</name>
    <value>true</value>
</property>

Datanode 无法与 namenode 连接。我收到以下异常

例外

2015-05-21 10:44:42,461 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: kumar/192.168.3.4:9000
2015-05-21 10:44:46,079 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: dinesh/192.168.3.3:9000
2015-05-21 10:44:47,471 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: kumar/192.168.3.4:9000
2015-05-21 10:44:51,085 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: dinesh/192.168.3.3:9000
2015-05-21 10:44:52,477 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: kumar/192.168.3.4:9000

我找不到此问题的确切根本原因。我需要帮助来解决这个问题。

【问题讨论】:

dfs.permissions 更改为dfs.permissions.enableddfs.permissions 已弃用。参考hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/… @RajeshN 两者都可以正常工作。我们可以使用 dfs.permissions.enabled 或 dfs.permissions。 您可以发布您的/etc/hosts 文件吗? 我没有在 hosts 文件中设置任何内容。每个主机都添加在同一个 DNS 服务器中。因此无需在 hosts 文件中进行编辑。 @Kumar,尝试将您的数据节点主机添加到 hadoop 策略 【参考方案1】:

我刚刚将默认超级组名称更改为新创建的组,该组具有所有 hadoop 用户的成员。现在该组中的所有用户都充当超级用户,因此可以正常工作。

<property>
    <name>dfs.permissions.superusergroup</name>
    <value>Hadoopgroup</value>
</property>

参考superuser

【讨论】:

以上是关于安全 Hadoop - Datanode 无法与 namenode 连接的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop重新格式namenode后无法启动datanode的问题

hadoop datanode无法启动

Hadoop集群改名导致无法启动DataNode

Hadoop的datanode超时时间设置

hadoop:我在ubuntu配置hadoop,master可以启动slave的datanode,但是无法显示datanode

无法启动Hadoop datanode。返回值:1