java - Hadoop 启用简单例份验证

标签 java authentication hadoop kerberos

我尝试了此处列出的步骤 How to disable Hadoop Kerberos但是由于这个异常,我的数据节点无法启动

java.lang.IllegalArgumentException: Does not contain a valid host:port authority: 50010
        at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:212)
        at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164)
        at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:153)

我在 CentOS 虚拟机上安装了 apache hadoop 2.6。我使用 start-dfs.shstart-yarn.sh 启动了 hadoop。我正在尝试使用 hdfs 协议(protocol)从 java 客户端连接到 hadoop,但出现以下异常。

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): SIMPLE authentication is not enabled.  Available:[TOKEN]
    at org.apache.hadoop.ipc.Client.call(Client.java:1468)
    at org.apache.hadoop.ipc.Client.call(Client.java:1399)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)

我曾多次看到其他人发布过类似的异常,但它通常以 [TOKEN, KERBEROS] 结尾。我需要启用 KERBEROS 身份验证还是 TOKEN 是其他东西?理想情况下,我只想使用简单的身份验证。如果我不能使用简单认证,安装 CDH4 是否满足 TOKEN 认证?

最佳答案

问题是我将请求发送到从 localhost:8088 获得的节点地址端口,而不是端口 8020 或在 core-site.xml 的 fs.defaultFS 中指定的任何端口。

关于java - Hadoop 启用简单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35076671/

相关文章:

Hadoop:在 HDFS 中连接 CSV 文件的工具?

hadoop - Hadoop失败/挂起作业的调试过程

java - Android 上的互联网可用性

hadoop - Phoenix未从Cloudera CDH5发行版连接在Zookeeper上

Java 命令行参数。使用 * 作为乘法的参数

mysql - CakePHP 3.x 从 AppController 以外的其他 Controller 启动 Auth 组件给出错误结果

android - 在浏览器中打开 "Platform off"后登录时持续出现 Facebook SDK http.protocol.ApiException

c# - 如何测试包含 Application.Current.Properties.ContainsKey ("token"的方法

java - 开源电子表格解决方案

Java List 和 Collection 抽象方法不指定主体