我有一个安全的hadoop集群,我想使用oozie rest api运行hive action。我能够通过Oozie rest api在workflow.xml中运行Hive Action。但是如果我尝试不使用workflow.xml来运行相同的hive action(在有效负载中传递配置))由于凭据而失败。是否有任何方法可以在Oozie rest api的有效负载中传递此凭据。
最佳答案
第1步:使用WebHDFS或HttpFS REST API将workflow.xml
(或whatever.0F253C.xml
)脚本(包括凭据定义中的参数)上传到HDFS
<credentials>
<credential name='HiveMetastore' type='hcat'>
<property>
<name>hcat.metastore.uri</name>
<value>${hiveMetastoreURI}</value>
</property>
<property>
<name>hcat.metastore.principal</name>
<value>${hivePrincipal}</value>
</property>
</credential>
</credentials>
...
<action name="DummyHive" cred="HiveMetastore">
<hive xmlns="uri:oozie:hive-action:0.3">
...
步骤2:使用该XML脚本以及参数的实际值提交工作流
oozie.wf.application.path=/user/johndoe/hic_sunt_leones/whatever.0F253C.xml
hiveMetastoreURI=thrift://dummy.nsa.gov:9083
hivePrincipal=hive/[email protected]
...
关于hadoop - 如何在有效负载中传递凭据以通过Oozie Rest API执行Hive Action,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32565126/