【问题标题】:HDFS datanode not starting with kerberosHDFS 数据节点不以 kerberos 开头
【发布时间】:2014-12-10 12:29:10
【问题描述】:

在 Windows 8 中使用 kerberos 配置 HDFS。

Namenode 成功登录并启动。 Datanode未启动但登录成功。

例外

14/12/10 17:51:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/12/10 17:52:00 INFO security.UserGroupInformation: Login successful for user kumar@KUMAR.COM using keytab file C:\kumar.keytab
14/12/10 17:52:00 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
14/12/10 17:52:00 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
14/12/10 17:52:00 INFO impl.MetricsSystemImpl: DataNode metrics system started
14/12/10 17:52:05 INFO datanode.DataNode: Configured hostname is hostname.WORKGROUP
14/12/10 17:52:05 FATAL datanode.DataNode: Exception in secureMainjava.lang.RuntimeException: Cannot start secure cluster without privileged resources.        at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:737)

查看link 尤其是以下内容。我需要设置 JSVC_HOME。如何设置?我在哪里可以得到 JSVC 包。我需要解决方案来解决这个问题。

安全数据节点

由于DataNode的数据传输协议不使用Hadoop的RPC框架,DataNode必须使用dfs.datanode.address和dfs.datanode.http.address指定的特权端口对自己进行身份验证。此身份验证基于攻击者无法获得 root 权限的假设。

当你以 root 身份执行 hdfs datanode 命令时,服务器进程首先绑定特权端口,然后放弃特权并以 HADOOP_SECURE_DN_USER 指定的用户帐户运行。此启动过程使用安装到 JSVC_HOME 的 jsvc。您必须在启动时将 HADOOP_SECURE_DN_USER 和 JSVC_HOME 指定为环境变量(在 hadoop-env.sh 中)。

【问题讨论】:

    标签: security hadoop kerberos


    【解决方案1】:

    似乎 JSVC 包不适用于 Windows。经过很长时间,我想出了一个解决这个问题的方法。我们可以使用 SASL,而不是使用 JSVC。

    Hadoop-2.6.0 支持 SASL 来验证数据传输协议。参考文档:Secure Datanode

    引用该链接:

    从 2.6.0 版开始,SASL 可用于验证数据 传输协议。在此配置中,不再需要 安全集群以使用 jsvc 以 root 身份启动 DataNode 并绑定到 特权端口。要在数据传输协议上启用 SASL,请设置 dfs.data.transfer.protectionhdfs-site.xml 中,设置一个非特权 dfs.datanode.address 的端口,将 dfs.http.policy 设置为 HTTPS_ONLY 和 确保HADOOP_SECURE_DN_USER 环境变量不是 定义。请注意,不能在数据传输中使用 SASL 协议如果dfs.datanode.address 设置为特权端口。这是 出于向后兼容的原因需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 2020-04-24
      • 2015-04-13
      相关资源
      最近更新 更多