我一直在尝试使用hadoop中的资源管理器api来提交作业(如http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Writeable_APIs中所述)。
当我尝试从任何用户(比如hadoop)提交作业时,它会以用户身份提交 - webuser ,并且应用程序失败并显示一条消息,
org.apache.hadoop.security.AccessControlException:用户webuser不能 将应用程序提交到队列......
当我查看hadoop的配置文件时,我没有看到任何提及webuser的内容。此外,没有可用的本地Web用户。
此用户从哪里获取? 如何通过资源管理器作为原始用户提交作业并继续应用程序?
对此问题的任何指导表示赞赏。谢谢!
编辑1 - 为呼叫添加输入。 申请被接受。
{
"application-id": "application_1476245592339_0001",
"application-name": "rm-mr-test",
"queue": "default",
"am-container-spec": {
"commands": {
"command": "hadoop jar /usr/hdp/2.3.0.0-2557/hadoop-mapreduce/hadoop-mapr educe-examples.jar teragen 100 /tmp/rm-api-test/1"
},
"unmanaged-AM": false,
"max-app-attempts": 2,
"resource": {
"memory": 2250,
"vCores": 8
},
"application-type": "MAPREDUCE",
"keep-containers-across-application-attempts": false
}
}
答案 0 :(得分:0)
匿名拨打电话时会使用 webuser 。 如果没有匿名用法,则可以将服务作为目标用户进行调用。