分享

Oozie 数据输出在什么地方?

tb_dhu_hadoop 发表于 2014-8-11 14:24:49 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 13291
Oozie支持java、fs、mapreduce、shell、hive、pig、sqoop中,想知道如果使用java 节点的话,main函数中system.out
println("where is it?"),会输出到什么地方呢?在log中找不到,也没有输出到屏幕上,这个太不便于调试了

已有(4)人评论

跳转到指定楼层
howtodown 发表于 2014-8-11 16:01:03
你试一下这种,可能会输出到控制台
Counter countPrint1 = context.getCounter("Map中循环strScore", “输出信息”);来输出调试信息


调试方法比较多,你参考下面,看看是否适合你:


mapreduce调试:

调试的方法有多种,这里说一种最简单、原始的一种。
记得Javascript刚开始之初是不能调试的,于是我们就采用alert的方法,看看结果是不是我们想要的,这里我们调试mapreduce采用的是类似的方法。我们通过Counter countPrint1 = context.getCounter("Map中循环strScore", “输出信息”);来输出调试信息,getCounter可以把程序里面的变量输出到Java控制台,这样就达到了调试效果。
详细参考:
Hadoop中调试(mapreduce)map与redcue信息的输出办法

当然还有其他调试方法,可以参考下面
Win7 Eclipse调试Centos Hadoop2.2-Mapreduce出现问题解决方案
调试Hadoop源代码:eclipse调试及日志打印
回复

使用道具 举报

tb_dhu_hadoop 发表于 2014-8-11 16:56:56
howtodown 发表于 2014-8-11 16:01
你试一下这种,可能会输出到控制台
Counter countPrint1 = context.getCounter("Map中循环strScore", “输 ...

谢谢你热心的回答,十分详细,不过我是在Oozie中使用java节点时遇到的问题,不是MapReduce程序调试,所以可能需要在考虑考虑吧
回复

使用道具 举报

sstutu 发表于 2014-8-11 17:13:14
tb_dhu_hadoop 发表于 2014-8-11 16:56
谢谢你热心的回答,十分详细,不过我是在Oozie中使用java节点时遇到的问题,不是MapReduce程序调试,所以 ...

不太清楚你的场景如果普通程序,下面语句没有问题的

system.out.println("where is it?")

回复

使用道具 举报

tb_dhu_hadoop 发表于 2014-8-11 17:29:51
sstutu 发表于 2014-8-11 17:13
不太清楚你的场景如果普通程序,下面语句没有问题的

system.out.println("where is it?")

public class JavaMain {

    public static void main(String[] args) {
        System.out.println("# Arguments: " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argument[" + i + "]: " + args);
        }
    }
}

<
- <workflow-app xmlns="uri:oozie:workflow:0.2" name="demo-wf">
  <start to="java-node" />

- <action name="java-node">
- <java>
  <job-tracker>${jobTracker}</job-tracker>

  <name-node>${nameNode}</name-node>

- <configuration>
- <property>
  <name>mapred.job.queue.name</name>

  <value>${queueName}</value>

  </property>


  </configuration>


  <main-class>tm.research.oozie.JavaMain</main-class>

  <arg>Hello</arg>

  <arg>Oozie!</arg>

  </java>


  <ok to="cleanup-node" />

  <error to="fail" />

  </action>
……
想知道当运行完Oozie workflow作业后,这个java-node节点输出的东西在哪里呢?






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条