首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Oozie工作流运行的mapreduce中的HBase连接失败

从Oozie工作流运行的mapreduce中的HBase连接失败
EN

Stack Overflow用户
提问于 2017-03-08 18:57:01
回答 1查看 339关注 0票数 0

我正在运行我的mapreduce作业作为来自Oozie工作流的java操作。当我在hadoop集群中运行mapreduce时,它会成功运行,但当我使用Oozie工作流中的同一jar运行时,它会抛出错误

这是我的工作流.xml

代码语言:javascript
复制
<workflow-app name="HBaseToFileDriver" xmlns="uri:oozie:workflow:0.1">

    <start to="mapReduceAction"/>
        <action name="mapReduceAction">
                <java>
                         <job-tracker>${jobTracker}</job-tracker>
                        <name-node>${nameNode}</name-node>
                        <prepare>
                                <delete path="${outputDir}"/>
                        </prepare>

                        <configuration>
                                <property>
                                        <name>mapred.mapper.new-api</name>
                                        <value>true</value>
                                </property>
                                <property>
                                        <name>mapred.reducer.new-api</name>
                                        <value>true</value>
                                </property>
                                 <property>
                                        <name>oozie.libpath</name>
                                        <value>${appPath}/lib</value>
                                </property>
                                <property>
                                    <name>mapreduce.job.queuename</name>
                                    <value>root.fricadev</value>
                                </property>

                            </configuration>
                                <main-class>com.thomsonretuers.hbase.HBaseToFileDriver</main-class>

                                    <arg>fricadev:FinancialLineItem</arg>


                                <capture-output/>
                </java>
                <ok to="end"/>
                <error to="killJob"/>
        </action>
        <kill name="killJob">
            <message>"Killed job due to error: ${wf:errorMessage(wf:lastErrorNode())}"</message>
        </kill>
    <end name="end" />
</workflow-app>

下面是我在纱线中看到原木时的例外情况。即使显示为成功,但不会生成输出文件。

EN

回答 1

Stack Overflow用户

发布于 2017-03-08 19:20:48

你调查过Oozie Java Action吗?

代码语言:javascript
复制
IMPORTANT: In order for a Java action to succeed on a secure cluster, it must propagate the Hadoop delegation token like in the following code snippet (this is benign on non-secure clusters):

// propagate delegation related props from launcher job to MR job
if (System.getenv("HADOOP_TOKEN_FILE_LOCATION") != null) {
    jobConf.set("mapreduce.job.credentials.binary", System.getenv("HADOOP_TOKEN_FILE_LOCATION"));
}

必须从系统环境变量中获取HADOOP_TOKEN_FILE_LOCATION并将其设置为属性mapreduce.job.credentials.binary

HADOOP_TOKEN_FILE_LOCATION由oozie在运行时设置。

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

https://stackoverflow.com/questions/42669430

复制
相关文章

相似问题

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