gpt4 book ai didi

hadoop - 无法从第二次Oozie工作流程作业中启动Hive Action

转载 作者:行者123 更新时间:2023-12-02 21:41:43 25 4
gpt4 key购买 nike

从Second Workflow Job Run运行Oozie的Hive Action时遇到一点问题。
在Worfklow的第一次运行中,Pig&Hive Action可以很好地运行作业,但是每当作业要在其第二个实例上运行时,在计划的时间,同一作业就会失败,并且Hive异常,导致无法访问Metastore derby。 {不确定哪个Jar相同要检查Derby,在哪里使用Oracle,并且在hive-site.xml,hive-default.xml中更新了相同的jar}

如果在杀死前一个实例之后重新开始工作,则该任务将按预期完成。

使用Hive0.9和Oozie 3.3.0,使用Oracle的metastore
已在HDFS中以及在DFS Oozie的本地和共享位置中更新了hive-site.xml,hive-default.xml,oozie-user-hive-default.xml,但仍然无法正常工作。

我的工作流程如下:

<action name="hiveForUploadData">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>default</value>
</property>
<property>
<name>oozie.hive.defaults</name>
<value>${namenode}/user/hive-default/hive-default.xml</value> -- {have tried with hive-site.xml & oozie-user-hive-default.xml as well }
</property>
</configuration>
<script>UploadScripts.q</script>
<param>inputfile_name=/user/input/table/filename</param>
</hive>
<ok to="end"/>
<error to="error"/>
</action>
<kill name="error">
<message>Hive Action Failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>

第一次运行获得成功,并且运行良好的Oracle Meta Store也得到了更新
第二次运行失败原因:无法访问Metastore {derby}
1836 [main] INFO hive.ql.parse.ParseDriver-解析完成
1959 [main]信息org.apache.hadoop.hive.metastore.HiveMetaStore-0:打开原始存储,实现类为:org.apache.hadoop.hive.metastore.ObjectStore
1985年[主要] INFO org.apache.hadoop.hive.metastore.ObjectStore-ObjectStore,初始化称为
2278 [main]错误DataNucleus.Plugin- bundle 包“org.eclipse.jdt.core”需要“org.eclipse.core.resources”,但无法解决。
2278 [main]错误DataNucleus.Plugin- bundle “org.eclipse.jdt.core”需要“org.eclipse.core.runtime”,但无法解决。
2278 [main]错误DataNucleus.Plugin- bundle “org.eclipse.jdt.core”需要“org.eclipse.text”,但无法解决。
2420 [main] INFO DataNucleus.Persistence-属性datanucleus.cache.level2未知-将被忽略
2421 [main] INFO DataNucleus.Persistence-属性javax.jdo.option.NonTransactionalRead未知-将被忽略
2421 [main] INFO DataNucleus.Persistence-=================持久性配置================
2426 [main] INFO DataNucleus.Persistence-DataNucleus持久性工厂-供应商:“DataNucleus”版本:“2.0.3”
2426 [main] INFO DataNucleus.Persistence-为数据存储URL初始化的DataNucleus持久性工厂URL =“jdbc:derby:; databaseName = metastore_db; create = true” driver =“org.apache.derby.jdbc.EmbeddedDriver” userName =“APP”
2426 [main] INFO DataNucleus.Persistence-======================================== ==================
8704 [main] INFO DataNucleus.Datastore.Schema-使用“无”自动启动选项初始化目录“”,模式“APP”
8704 [main] INFO DataNucleus.Datastore.Schema-目录“”,模式“APP”已初始化-管理0个类
8795 [main] INFO org.apache.hadoop.hive.metastore.ObjectStore-使用hive.metastore.cache.pinobjtypes =“Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order”设置MetaStore对象引脚类
8832 [main] INFO DataNucleus.MetaData-注册用于元数据初始化的侦听器
8858 [main]信息org.apache.hadoop.hive.metastore.ObjectStore-初始化的ObjectStore

不知道为什么Oozie不会读取用户定义的“hive-default.xml”,而是从Some Jar读取相同的内容,不确定是否使用了它。
也是为什么/如何从新的Oozie作业的第一轮获得成功,而从第二轮开始,该作业无法读取相同的内容。
你们能帮我找出缺失的地方或需要更新的地方吗

最佳答案

您需要在<configuration>标签上方插入:

<job-xml>[HIVE SETTINGS FILE]</job-xml>

其中 [HIVE SETTINGS FILE]是最常用的文件 hive-site.xml。这将使您的Hive脚本可以连接到元存储。

关于hadoop - 无法从第二次Oozie工作流程作业中启动Hive Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com