我有一个要使用oozie计划的python脚本。 我正在使用Oozie shell动作来调用脚本。 脚本中有一条直线指令。 运行oozie工作流程时,出现错误“ sh:beeline:命令未找到” 。 如果我从边缘节点手动运行此脚本或仅运行beeline命令,则运行情况会很好。 我的数据平台是Hortonworks 2.6。 以下是我的workflow.xml和python脚本:
Workflow.xml
hcat.metastore.uri
thrift://host:9083
hcat.metastore.principal
hive/_HOST@SOLON.PRD
${jobTracker}
${nameNode}
run_validations.py
--jdbcURL${jdbcURL}
--jdbcPrincipal${jdbcPrincipal}
PYTHONPATH=/bin/python
PYTHON_EGG_CACHE=/tmp
PATH=/usr/bin
HADOOP_CLASSPATH=${HADOOP_CLASSPATH}
run_validations.py
Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]
脚本:
#!/usr/bin/env python2
import sys, os, commands, datetime, time ,getpass, errno
from optparse import OptionParser
import subprocess