我已经设置了一个简单的本地 PHD 3.0 Hadoop 集群,并按照 Spring Yarn Basic Getting Started guide 中描述的步骤进行操作。
针对我的 Hadoop 集群运行应用程序会给出
org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN]
以及 YARN ResourceManager 中的以下堆栈跟踪:
org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN]
at org.apache.hadoop.ipc.Server$Connection.initializeAuthContext(Server.java:1554)
at org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1510)
at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:762)
at org.apache.hadoop.ipc.Server$Listener$Reader.doRunLoop(Server.java:636)
at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:607)
这可能是一个非常基本的问题。 我只想运行 YARN 应用测试而不设置任何身份验证。
据我了解,YARN 不允许简单的客户端身份验证: https://issues.apache.org/jira/browse/YARN-2156
根据这个问题 How can I pass a Kerberos ticket to Spring Yarn application
我可能最终会设置 Kerberos 身份验证。
有没有办法无需复杂的身份验证设置即可运行 Spring YARN 示例?
最佳答案
我的错误很简单。 我必须添加
spring:
hadoop:
resourceManagerAddress: myyarnhost:8050
resourceManagerSchedulerAddress: myyarnhost:8030
也到 application.yml
,但混淆了端口号(manager 为 8030,ManagerScheduler 为 8050)。
这个错字造成了这样的影响。
也许将这两个配置属性添加到入门指南中可以为后续读者节省一些时间。
此外,要针对新安装的 PHD3.0 运行示例,我必须通过导出默认的 HADOOP_USER_NAME
来修改 HDFS 客户端用户名:
export HADOOP_USER_NAME=hdfs
关于spring - YARN 客户端身份验证失败,且未启用 SIMPLE 身份验证。可用 :[TOKEN],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32008324/