首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oozie--失败: SemanticException [错误10072]:数据库不存在: testnamespace

Oozie--失败: SemanticException [错误10072]:数据库不存在: testnamespace
EN

Stack Overflow用户
提问于 2017-03-07 16:33:19
回答 1查看 875关注 0票数 2

​我在运行包含配置单元查询的Oozie工作流时出错。以下是工作流程

代码语言:javascript
复制
<workflow-app xmlns='uri:oozie:workflow:0.5' name='reporting_W_errorAuditHiveQueryExe'>
<start to="hive_report_fork"/>
<fork name="hive_report_fork">
    <path start="hiveGSRLfile"/>
    <path start="hiveNGSRLfile"/>
    <path start="hiveNGsrlRAfile"/>
</fork>
<action name="hiveGSRLfile">
    <hive xmlns='uri:oozie:hive-action:0.2'>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <script>${dir}/gsrlQery.hql</script>
        <param>OutputDir=${jobOutput}</param>
    </hive>
    <ok to="joining"/>
    <error to="joining"/>
</action>
<action name="hiveNGSRLfile">
    <hive xmlns='uri:oozie:hive-action:0.2'>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <script>${dir}/nongsrlQuery.hql</script>
        <param>OutputDir=${jobOutput}</param>
    </hive>
    <ok to="joining"/>
    <error to="joining"/>
</action>
<action name="hiveNGsrlRAfile">
    <hive xmlns='uri:oozie:hive-action:0.2'>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <script>${dir}/nongsrlRAQuery.hql</script>
        <param>OutputDir=${jobOutput}</param>
    </hive>
    <ok to="joining"/>
    <error to="joining"/>
</action>
<join name= "joining" to="Success"/>
<action name="Success">
    <email xmlns="uri:oozie:email-action:0.1">
        <to>${failureEmailToAddress}</to>
        <subject>Success</subject>
        <body>
            The workflow ${wf:name()} with id ${wf:id()} failed
            [${wf:errorMessage(wf:lastErrorNode())}].
        </body>
    </email>
    <ok to="end" />
    <error to="fail" />
</action>
<action name="failure">
    <email xmlns="uri:oozie:email-action:0.1">
        <to>${failureEmailToAddress}</to>
        <subject>Failure</subject>
        <body>
            The workflow ${wf:name()} with id ${wf:id()} failed
            [${wf:errorMessage(wf:lastErrorNode())}].
        </body>
    </email>
    <ok to="end" />
    <error to="fail" />
</action>
<kill name="fail">
    <message>Workflow failed</message>
</kill>
<end name="end"/>

下面是oozie属性文件

代码语言:javascript
复制
oozie.wf.application.path=${deploymentPath}/workflows/errorAuditHiveQueryExe.xml
deploymentPath=/user/amin/deploy_178
jobTracker=localhost:8032
nameNode=hdfs://nameservice1
dir=${deploymentPath}/data-warehouse/temp
failureEmailToAddress=amin@dnb.com
jobOutput=${dir}
oozie.use.system.libpath=true

下面是我得到的错误:

代码语言:javascript
复制
FAILED: SemanticException [Error 10072]: Database does not exist: testnamespace 
Intercepting System.exit(10072)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10072]

但是,名称空间是存在的,我可以查询其中的表。

这里会有什么问题呢?请帮帮忙。我使用运行Hive 1.0的CDH 5.5.2

EN

回答 1

Stack Overflow用户

发布于 2017-03-07 17:56:32

经过在互联网上不知疲倦的研究,我终于破解了这个问题的解决方案。我已经为Hive作业添加了使用metastore服务器的配置,并且它起作用了。

以下是我对Hive操作所做的操作。

代码语言:javascript
复制
....
<hive xmlns='uri:oozie:hive-action:0.2'>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name>hive.metastore.uris</name>
                    <value>thrift://10.155.1.63:9083</value>
                </property>
            </configuration>
            <script>${dir}/gsrlQery.hql</script>
            <param>OutputDir=${jobOutput}</param>
        </hive>
....

注:如果您正在尝试解决类似的问题,请相应地更换配置单元元存储ip。要获取元存储的详细信息,请检查位于/etc/hive/conf目录中的hive-site.xml文件。

图片来源:MapR

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42643555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档