我尝试了此处列出的步骤 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.sh
和 start-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/