amazon-ec2 - Amazon 上的 Oozie Hive 作业错误

标签 amazon-ec2 hive oozie hortonworks-data-platform

我正在尝试使用 HDP 2.2 通过亚马逊上的 oozie 运行配置单元作业。 运行作业的用户是 ec2-user。 当我运行“dryrun”时,出现以下错误:

oozie 作业 -oozie htp://~internal:11000/oozie -config job.properties -dryrun

Error: E0803 : E0803: IO error, Encountered ": java .", expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||", ":", <IDENTIFIER>, "(", "?"]

以前有人见过这个吗? 以下是我的工作流程。

<workflow-app name="OozieWorkflow" xmlns="uri:oozie:workflow:0.4">
<start to="load" />
<action name="load">
    <hive xmlns="uri:oozie:hive-action:0.2">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <job-xml>/user/ec2-user/hive-site-oozie.xml</job-xml>
        <script>/user/ec2-user/loadData.hql</script>
        <file>/user/ec2-user/hive-site-oozie.xml#hive-site-oozie.xml</file>
    </hive>
    <ok to="end" />
    <error to="kill" />
</action>
<kill name="kill">
    <message>Action failed, error
        message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end" /></workflow-app>

我的工作属性是:

nameNode=hdfs://~internal:8020
jobTracker=http://~internal:8050
queueName=default
#oozie.libpath=
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/ec2-user

最佳答案

我找到了导致此错误的一个原因。至少这是我在运行 oozie 作业时出现奇怪但无害的 EL 错误的原因。

包含 hive-site.xml 就行了

<job-xml>/user/ec2-user/hive-site-oozie.xml</job-xml>

在 hdp2.2 中,hive-site.xml 包含此元素:

<property>
  <name>hive.server2.logging.operation.log.location</name>
  <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>
</property>

出于某种原因,oozie 还会评估所提供的 job-xml 中的表达式。请注意 ${system:java.io.tmpdir} 它不是有效的 Oozie EL 表达式。

除了从提供的 job-xml 中排除该值之外,我不确定如何避免此错误

关于amazon-ec2 - Amazon 上的 Oozie Hive 作业错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27565299/

相关文章:

amazon-web-services - 如何在 EC2 t2micro 实例上组装 Spark(并避免 "java.lang.OutOfMemoryError: Java heap space"错误)?

java - Hive UDF 在 select 中抛出 Class Not Found 异常

hadoop - sqoop import Job期间如何保持故障恢复

mongodb - Amazon EC2 实例 : Cannot create temp file for here document. 设备上没有剩余空间

amazon-web-services - 无法使用云形成在用户数据中运行命令

python - Hive 数据到 Pandas 数据框

java - 由于 hive 查询错误导致 hadoop 作业出错

hadoop - 无法连接到 oozie 服务器(错误代码 : 500)

hadoop - 在 AWS EMR 中重启 Oozie

linux - 无法解决连接超时-Hadoop-1.2.1 NameNode和DataNode无法启动; SecondaryNameNode端口22连接超时