0 0

通过Oozie提交MapReduce任务,抛java.io.EOFException异常25

1. job.properties
nameNode=hdfs://192.168.130.54:19000
jobTracker=192.168.130.54:19001
queueName=default

#HDFS上的目录
oozie.wf.application.path=/tmp/oozie/conf
oozie.libpath=/tmp/oozie/lib
inputDir=/tmp/oozie/input
outputDir=/tmp/oozie/output/

2. workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.1" name="map-reduce-wf">
    <start to="wordcount"/>
    <action name="wordcount">
        <map-reduce>
            <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>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
                <property>
                    <name>mapreduce.mapper.class</name>
                    <value>org.myorg.WordCount$WordCountMapper</value>
                </property>
                <property>
                    <name>mapreduce.reducer.class</name>
                   <value>org.myorg.WordCount$WordCountReducer</value>              
                </property>
                <property>
                    <name>mapred.output.key.class</name>
                    <value>org.apache.hadoop.io.Text</value>
                </property>
                <property>
                <property>
                    <name>mapred.output.value.class</name>
                    <value>org.apache.hadoop.io.IntWritable</value>
                </property>
                <property>
                    <name>mapred.map.tasks</name>
                    <value>1</value>
                </property>
                <property>
                    <name>mapred.input.dir</name>
                    <value>${inputDir}</value>
                </property>
                <property>
                    <name>mapred.output.dir</name>
                    <value>${outputDir}</value>
                </property>
            </configuration>
        </map-reduce>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>
                    

3. HDFS目录结构
/tmp
/tmp/oozie
/tmp/oozie/conf
/tmp/oozie/conf/workflow.xml
/tmp/oozie/conf/job.properties
/tmp/oozie/input
/tmp/oozie/input/data.txt
/tmp/oozie/lib
/tmp/oozie/lib/wordcount.jar

4. 运行:bin/ooize job -config ../map-reduce/job.properties -run
查看oozie.log,会抛出异常如下:
2012-07-18 16:26:41,546  INFO ActionStartCommand:525 - USER[hmail] GROUP[users] TOKEN[] APP[map-reduce-wf] JOB[0000004-120718160353104-oozie-hmai-W] ACTION[0000004-120718160353104-oozie-hmai-W@wordcount] Next Retry, Attempt Number [3] in [60,000] milliseconds
2012-07-18 16:27:41,583  WARN ActionStartCommand:528 - USER[hmail] GROUP[users] TOKEN[] APP[map-reduce-wf] JOB[0000004-120718160353104-oozie-hmai-W] ACTION[0000004-120718160353104-oozie-hmai-W@wordcount] [***0000004-120718160353104-oozie-hmai-W@wordcount***]In call()....status=START_RETRY
2012-07-18 16:27:41,776  WARN ActionStartCommand:528 - USER[hmail] GROUP[users] TOKEN[] APP[map-reduce-wf] JOB[0000004-120718160353104-oozie-hmai-W] ACTION[0000004-120718160353104-oozie-hmai-W@wordcount] Error starting action [wordcount]. ErrorType [TRANSIENT], ErrorCode [JA009], Message [JA009: Call to /192.168.130.54:19000 failed on local exception: java.io.EOFException]
org.apache.oozie.action.ActionExecutorException: JA009: Call to /192.168.130.54:19000 failed on local exception: java.io.EOFException
	at org.apache.oozie.action.ActionExecutor.convertException(ActionExecutor.java:361)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.addToCache(JavaActionExecutor.java:297)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.setLibFilesArchives(JavaActionExecutor.java:350)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:492)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.start(JavaActionExecutor.java:582)
	at org.apache.oozie.command.wf.ActionStartCommand.call(ActionStartCommand.java:128)
	at org.apache.oozie.command.wf.ActionStartCommand.execute(ActionStartCommand.java:249)
	at org.apache.oozie.command.wf.ActionStartCommand.execute(ActionStartCommand.java:47)
	at org.apache.oozie.command.Command.call(Command.java:202)
	at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:132)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: Call to /192.168.130.54:19000 failed on local exception: java.io.EOFException
	at org.apache.hadoop.ipc.Client.wrapException(Client.java:1142)
	at org.apache.hadoop.ipc.Client.call(Client.java:1110)
	at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226)
	at $Proxy22.getProtocolVersion(Unknown Source)
	at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398)
	at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)
	at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:111)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:213)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:180)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1514)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:1548)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1530)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:228)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:111)
	at org.apache.hadoop.filecache.DistributedCache.addFileToClassPath(DistributedCache.java:431)
	at org.apache.oozie.service.KerberosHadoopAccessorService$4.run(KerberosHadoopAccessorService.java:227)
	at org.apache.oozie.service.KerberosHadoopAccessorService$4.run(KerberosHadoopAccessorService.java:222)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:396)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
	at org.apache.oozie.service.KerberosHadoopAccessorService.addFileToClassPath(KerberosHadoopAccessorService.java:222)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.addToCache(JavaActionExecutor.java:276)
	... 11 more
Caused by: java.io.EOFException
	at java.io.DataInputStream.readInt(DataInputStream.java:375)
	at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:815)
	at org.apache.hadoop.ipc.Client$Connection.run(Client.java:724)


5. 查了一下这个异常,网上有说是因为因为服务器端的hadoop和客户端的不一致,我的oozie和hadoop版本分别是hadoop-0.20.2,oozio是oozie-2.3.2-cdh3u2,oozie中所包含的hadoop-core也是0.20.2版本的,应该不是这个问题吧,求大侠解救
2012年7月18日 16:26

1个答案 按时间排序 按投票排序

0 0

Hi,xianneng.lin:

这个问题后来解决了吗,我也遇到同样的问题,能否共享一下解决方法?谢谢。

2013年1月16日 00:23

相关推荐

    oozie-branch-4.1.zip

    它允许用户定义、调度和协调各种类型的任务,如 MapReduce、Pig、Hive、Spark 等,提供了一个集中式的管理和监控平台。在深入理解 Oozie 的功能之前,我们首先关注的是 "oozie-branch-4.1.zip" 这个压缩包,它包含了...

    oozie-4.3.1.tar.gz

    工作流可以包含多个动作,如执行Hive查询、运行MapReduce任务等。 2. 协调器(Coordinator):协调器负责根据时间或数据触发工作流的执行,实现周期性或者基于数据触发的作业。 3. 仪表板(Web UI):提供友好的用户...

    oozie-5.2.1-distro.tar.gz

    1. **工作流管理**:Oozie支持定义和执行复杂的工作流程,这些流程可以包含Hadoop MapReduce、Pig、Hive、 Sqoop等任务,以及外部系统的命令行操作。 2. **协调器作业**:允许基于时间或数据可用性来调度工作流程,...

    oozie-4.1.0.tar.gz

    在4.1.0版本中,Oozie提供了一个灵活、可扩展的框架,允许用户定义和执行复杂的作业流程,支持多种类型的数据处理任务,包括MapReduce、Pig、Hive、Sqoop以及Java程序等。 **核心功能** 1. **工作流管理**:Oozie ...

    oozie-5.0.0.tar.gz

    《Apache Oozie 5.0.0:工作流调度利器》 Apache Oozie 是一个集成在Hadoop生态系统中的工作流调度系统,专为管理Hadoop作业而设计。Oozie 5.0.0 版本是该工具的一个重要里程碑,它于2019年6月25日发布,提供了多项...

    Oozie大数据调度系统从入门到精通视频教程

    手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程简介 从零开始讲解大数据调度系统构成,集成大数据计算任务构建大数据工作流... 2.Oozie任务的提交 3.Oozie任务的关闭

    oozie-5.1.0.tar.gz(3)

    oozie-5.1.0.tar.gz 编译结果,受限上传大小,文件分3部分

    Oozie安装部署及任务定义说明

    7. **Oozie任务提交** - 编写作业定义文件(如workflow.xml),指定作业的执行流程。 - 将作业依赖的库文件(JARs)上传到HDFS。 - 创建job.properties文件,包含作业配置信息。 - 使用oozie客户端命令提交作业...

    oozie-5.1.0.tar.gz(2)

    oozie-5.1.0.tar.gz 编译结果,受限上传大小,文件分3部分

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx

    3. **回调与轮询**:Oozie通过回调机制或轮询来确定任务完成情况,保证任务的正确执行。 4. **控制流节点**:包括开始、结束、失败节点以及决策、分支、合并节点,用于控制工作流执行流程。 5. **Action支持**:...

    maven,oozie,pig LINUX 环境搭建.docx

    ### Maven、Oozie、Pig在Linux环境下的搭建指南 #### Maven的安装与配置 1. **下载与解压Maven** 首先根据官方文档的要求下载Maven压缩包,并进行解压。确保下载的是适用于当前操作系统的版本。 2. **配置环境...

    大数据技术之Oozie入门到精通.txt

    - Oozie Server是Oozie的核心组件,负责接收客户端提交的工作流定义、调度任务并监控其执行状态。 - 它通常运行在一个集群节点上,并且可以通过HTTP REST API与之交互。 **2. 数据库** - Oozie Server使用数据库来...

    Oozie_ext-2.2.zip

    Oozie是Apache软件基金会的一个项目,专为Hadoop设计,能够协调Hadoop生态系统中的各种任务,如MapReduce、Pig、Hive、Sqoop和Java程序等。它提供了一个灵活的工作流调度机制,使得大数据处理更加有序和自动化。...

    OOZIE 配置和调度流程(1).doc

    + 提交 oozie 调度文件到 hdfs 指定路径执行命令:hadoop fs –put oozie_run /tmp/ 上传路径在 job.properties 文件中 filepath,oozie.coord.application.path 两个属性指定。 + 提交并执行调度任务:进入 oozie...

    oozie -4.3.0 .tar for linux.64

    linux.64 下的 oozie-4.3.0.tar.gz 源码包 解压后编译即可 注意对应的版本 cd bin ./mkdistro.sh -Phadoop-2 -Dhadoop.auth.version=2.8.2 -Ddistcp.version=2.8.2 -Dhadoop.version=2.8.2 -Dsqoop.version=1.4.6 -...

    Oozie的安装与配置.docx

    【Oozie的安装与配置】是Hadoop生态系统中的一个重要环节,Oozie是一个工作流调度系统,用于管理和协调Hadoop集群上的各种作业,如MapReduce、Pig、Hive、Spark等。以下是对Oozie安装配置过程的详细解释: 1. **所...

    安装Oozie4.1.0-CDH版本

    安装Oozie4.1.0-CDH版本 这个安装过程同样适用于oozie4.1.0的其他的CDH版本。 先对文件进行下载: 这里使用的是CDH版本的,免编译,看着编译的过程就够了。下载地址: ...

    extjs 2.2(oozie需要的)

    它能够协调 Hadoop 相关的作业,如 MapReduce、Pig、Hive 和 Sqoop,以及外部系统如 Java 作业或命令行程序。Oozie 提供了一个用户友好的 Web 界面和 REST API,方便用户定义、监控和管理工作流。 在部署 Oozie 时...

    Oozie之JavaAction测试实例

    Oozie支持多种类型的Hadoop任务,包括MapReduce、Pig、Hive、Sqoop等,同时也支持通过Java Action执行自定义的Java程序。 **JavaAction**是Oozie提供的一个特殊功能,允许用户编写Java程序来实现自定义逻辑,这些...

Global site tag (gtag.js) - Google Analytics