OozieRESTAPI发布新配置单元作业获取“此请求需要http身份验证”

wlwcrazw  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(301)

我正在使用restapi将配置单元作业提交给oozie。我尝试使用postman和curl发送请求,但收到一个错误消息:“此请求需要http身份验证。”
我试图在我的cloudera快速启动和hortonworks上运行它,但得到了相同的错误。
config.xml是:

<?xml version="2.0" encoding="UTF-8"?><configuration><property><name>fs.default.name</name><value>hdfs://localhost:8020</value></property><property><name>mapred.job.tracker</name><value>localhost:8021</value></property><property><name>user.name</name><value>cloudera</value></property><property><name>oozie.hive.script</name><value>select * from test;</value></property><property><name>oozie.libpath</name><value>hdfs://localhost:8020/user/cloudera/share/lib/hive</value></property><property><name>oozie.proxysubmission</name><value>true</value></property></configuration>

curl 是:

curl -X POST -H "Content-Type: application/xml" -d @config.xml http://localhost:11000/oozie/v1/jobs?action=start

我也试过这个:

curl -X POST -H "Content-Type: application/xml" -d @config.xml  --negotiate -u cloudera:cloudera //localhost:11000/oozie/v1/jobs?action=start

或者这个:

curl -X POST -H "Content-Type: application/xml" -d "fs.default.namehdfs://localhost:8020mapred.job.trackerlocalhost:8021user.nameclouderaoozie.hive.scriptselect * from test;oozie.libpathhdfs://localhost:8020/user/cloudera/share/lib/hiveoozie.proxysubmissiontrue"//localhost:11000/oozie/v2/job

(配置是正确的xml文件)
答案是:

Apache Tomcat/6.0.44 - Error report HTTP Status 401 - type Status report message description This request requires HTTP authentication. Apache Tomcat/6.0.44

当运行get请求而不添加额外的授权时,我得到的是响应

curl -X GET "http://localhost:11000/oozie/v1/admin/status"

答案是:

{"systemMode":"NORMAL"}

我错过了什么?我应该如何通过oozierestapi提交oozie配置单元作业?
谢谢

qvsjd97n

qvsjd97n1#

确保oozie.libpath声明正确并且存在,并且可以访问它应该所在的目录

hdfs://quickstart.cloudera:8020/user/oozie/share/lib/hive
ff29svar

ff29svar2#

我也有同样的问题。我的解决办法是修好 oozie.wf.application.path 参数值--它指向一个不存在的 workflow.xml 文件。将此更改为正确的文件名解决了问题。
我不得不承认,在这种情况下,oozie的api消息并不是很有帮助: This request requires HTTP authentication. 我花了相当长的时间调试这个问题,认为这可能是一个身份验证问题——我正在一个kerberized集群上运行)。
所以,仔细检查你的 job.xml 以及 workflow.xml 文件夹。

相关问题