`
poson
  • 浏览: 357810 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hadoop调试信息的输出办法

阅读更多

Hadoop

调试是比较麻烦的事情,考虑到只能通过reduce输出数据,我们可以把调试信息输出到reduce中,然后固定到某个文件中。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

 

我们可以把所有的调试数据都是用key=Debug”,调试信息作为value=debugInfo”。

 

1)在map中直接使用

 

output.collect(new Text("debug"), new Text("调试信息"));

 

2)在reduce中判断

  1. if(key.equals("debug"))
  2. {
  3. while(values.hasNext())
  4. {
  5. Stringline=values.next().toString();
  6. output.collect(newText("debug"),newText(line));
  7. }
  8. }

(3)

增加类ReportOutFormat
  1. publicstaticclassReportOutFormat<KextendsWritableComparable<?>,VextendsWritable>
  2. extendsMultipleOutputFormat<K,V>{
  3. privateTextOutputFormat<K,V>theTextOutputFormat=null;
  4. @Override
  5. protectedRecordWriter<K,V>getBaseRecordWriter(FileSystemfs,
  6. JobConfjob,Stringname,Progressablearg3)throwsIOException{
  7. if(theTextOutputFormat==null){
  8. theTextOutputFormat=newTextOutputFormat<K,V>();
  9. }
  10. returntheTextOutputFormat.getRecordWriter(fs,job,name,arg3);
  11. }
  12. @Override
  13. protectedStringgenerateFileNameForKeyValue(Kkey,Vvalue,Stringname){
  14. if(key.equals("debug"))///注意这个判断
  15. return"debug"+name;
  16. returnname;
  17. }
  18. }

4)在configJob里面添加代码
  1. protectedvoidconfigJob(JobConfconf)
  2. {
  3. conf.setMapOutputKeyClass(Text.class);
  4. conf.setMapOutputValueClass(Text.class);
  5. conf.setOutputKeyClass(Text.class);
  6. conf.setOutputValueClass(Text.class);
  7. conf.setOutputFormat(ReportOutFormat.class);//增加该行
  8. }

这样在输出文件中我们就可以得到调试信息了。这个办法有点曲线救国的意思,不知道有没有其他方便的办法。

 

分享到:
评论

相关推荐

    hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe

    在Hadoop生态系统中,调试工具对于开发者和管理员来说至关重要,特别是在Windows环境中。本文将深入探讨三个关键组件:hadoop.dll、hadoop.exp和winutils.exe,以及它们在64位系统中的应用。这些组件主要用于在...

    hadoop mapreduce helloworld 能调试

    "Hadoop MapReduce HelloWorld 能调试" 的主题意味着我们将深入理解如何设置、运行以及调试 MapReduce 任务,特别是针对入门级的 "wordcount" 示例。 MapReduce 分为两个主要阶段:Map 阶段和 Reduce 阶段。Map ...

    Hadoop本地调试NativeIO

    通过调整日志级别和输出格式,可以获取更详细的调试信息,帮助定位问题所在。 7. **问题排查**:常见的问题可能包括依赖库版本不兼容、编译选项错误、JNI(Java Native Interface)调用错误等。解决这些问题通常...

    eclipse调试hadoop2.x必备

    Eclipse则是一款强大的集成开发环境(IDE),支持多种编程语言,包括Java,是编写和调试Hadoop应用程序的首选工具。当我们需要在Windows 7操作系统上使用Eclipse进行Hadoop 2.x版本的开发和调试时,有一些关键步骤和...

    Hadoop在Windows下用IDEA调试

    标题中的“Hadoop在Windows下用IDEA调试”意味着我们将探讨如何在Windows操作系统上使用IntelliJ IDEA(IDEA)这个流行的Java集成开发环境来调试Hadoop项目。Hadoop是一个开源的大数据处理框架,通常用于分布式存储...

    Eclipse中远程调试Hadoop必备资料

    Eclipse中远程调试Hadoop必备资料:hadoop-eclipse-plugin-1.1.1和hadoop-core-1.0.2-modified;已经在eclipse-jee-juno-SR1-win32-x86_64和hadoop1.1.1 下测试过。

    hadoop数据输出压缩

    在探讨Hadoop数据输出压缩这一主题时,我们深入解析了Hadoop如何通过不同的压缩格式、工具及算法来优化数据处理效率。以下是对标题、描述、标签以及部分内容中提及的关键知识点的详细阐述: ### Hadoop数据输出压缩...

    Hadoop本地调试 winutil.exe & hadoop.dll

    Hadoop本地调试必要的文件 winutil.exe & hadoop.dll 使用方式:https://blog.csdn.net/qq_31772441/article/details/84076715

    hadoop常见问题及解决办法

    解决办法:该问题是由于reduce预处理阶段shuffle时获取已完成的map输出失败次数超过上限造成的,上限默认为5。解决办法是修改/etc/security/limits.conf文件,增加nofile参数的值。具体来说,需要添加两行:`* soft ...

    如何使用eclipse调试Hadoop作业

    Eclipse作为一款强大的Java集成开发环境,为开发者提供了丰富的工具来调试Java应用程序,包括基于Hadoop的作业。本篇文章将详细阐述如何利用Eclipse有效地调试Hadoop作业,以及与之相关的源码分析和工具使用技巧。 ...

    winutils.exe/hadoop.dll下载,IDE调试hadoop程序。

    在Windows环境下开发和调试Hadoop程序时,由于Windows系统与Hadoop原生环境(主要是Linux)的差异,可能会遇到一些挑战。"winutils.exe"和"hadoop.dll"是解决这些问题的关键工具。 **winutils.exe** 是Hadoop在...

    Hadoop MapReduce多输出详细介绍

    在使用MapReduce框架时,经常需要处理输出数据,这时可能会遇到需要将输出分散到多个文件中的需求,这就是Hadoop MapReduce多输出功能的用途。Hadoop MapReduce多输出的功能主要由MultipleOutputFormat类及其相关类...

    hadoop本地调试MR

    IDEA hadoop本地调试MR windows-hadoop-bin 的压缩包,适合hadoop2.7.2以上,而且有详细的安装环境文档和错误的处理,一次通过

    Hadoop IDEA 本地调试MR 包含文档和所有的资源

    4. **本地运行与调试**:`hadoop本地调试.txt`可能包含了详细的步骤和注意事项,通常包括如何配置项目的运行/调试配置,指定输入输出路径,以及设置主类。在IDEA中,你可以创建一个新的Run/Debug Configuration,...

    hadoop中文乱码问题

    在实际操作中,可能需要结合日志信息和源码调试来定位问题。同时,建立良好的编码规范,统一数据的编码格式,也是防止乱码问题的重要措施。 总之,理解和掌握Hadoop的字符编码机制,以及如何在不同阶段适配正确的...

    基于Hadoop的微博信息挖掘

    基于Hadoop的微博信息挖掘 本文设计了基于Hadoop的微博信息挖掘系统,解决了单一节点在分析微博海量数据的性能瓶颈问题。该系统利用分布式和虚拟化技术的优势,将微博信息获取和相关数据分析进行有机整合,实现了一...

    hadoop2.7.3 Winutils.exe hadoop.dll

    例如,开发人员可能需要使用Winutils.exe来获取HDFS上的文件信息,或者通过hadoop.dll来实现数据的读写操作。此外,当遇到性能问题或错误时,了解这些组件可以帮助定位问题所在,进行调试和优化。 总的来说,Hadoop...

    hadoop-eclipse-plugin-2.6.0.jar.zip_2.6.0_hadoop_hadoop plugin

    2. **日志查看**:利用Eclipse的输出视图跟踪作业的运行状态和日志信息,帮助诊断问题。 3. **优化调试**:在调试时,可以设置断点,观察变量值,理解程序运行过程。 4. **代码复用**:使用Maven或Gradle构建系统...

    本地调试所需hadoop包,hadoop-common-bin-master,winutils.exe

    在本地调试Hadoop时,首先需要确保你的系统已经安装了Java开发工具(JDK),因为Hadoop是基于Java的。然后,你需要设置HADOOP_HOME环境变量,指向解压后的Hadoop目录,并将bin目录添加到PATH环境变量中,这样就可以...

Global site tag (gtag.js) - Google Analytics