Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 在eclipse中调试hadoop_Debugging_Hadoop_Mapreduce - Fatal编程技术网

Debugging 在eclipse中调试hadoop

Debugging 在eclipse中调试hadoop,debugging,hadoop,mapreduce,Debugging,Hadoop,Mapreduce,可以在Eclipse中调试Hadoop的源代码吗?我不是问MapReduce任务。我想看看Hadoop源代码的哪一部分负责调度map reduce任务,以及它是如何工作的。有什么机制可以完成吗?您可以下载Hadoop项目并将其集成到eclipse中,然后使用F5或F6进行调试。 您在eclipse中有不同的调试模式: F5:逐步调试 F6:跳过循环和子例程 F7:跳过循环或子例程并返回到最后一个光标点 F8:执行并完成调试 或者,您也可以通过循序渐进的方式尝试了解工作流,您可以从main中的ru

可以在Eclipse中调试Hadoop的源代码吗?我不是问MapReduce任务。我想看看Hadoop源代码的哪一部分负责调度map reduce任务,以及它是如何工作的。有什么机制可以完成吗?

您可以下载Hadoop项目并将其集成到eclipse中,然后使用F5或F6进行调试。 您在eclipse中有不同的调试模式:

  • F5:逐步调试
  • F6:跳过循环和子例程
  • F7:跳过循环或子例程并返回到最后一个光标点
  • F8:执行并完成调试
  • 或者,您也可以通过循序渐进的方式尝试了解工作流,您可以从main中的
    run()
    方法开始

    回答您的问题:谁安排地图任务?

    正如您在这个模式中看到的,文件被
    InputFormat
    类划分为固定大小的块,称为inputspits。然后,每个分割都会交给映射器,映射器是分配了映射任务的节点

    相同的
    InputFormat
    类还提供了一个
    RecordReader
    ,负责解析拆分和提取记录。每条记录作为(键、值)对传递给映射函数。因此,
    Mapper
    类是调用
    map
    方法的类

    以下是wordcount示例的工作流:


    其中,是扩展抽象类的抽象类,扩展了
    FileInputFormat
    类。

    是Apache Hadoop文档中的说明。我还没有试过,但说明已经足够好了,可以开始了。

    如何在Eclipse中集成Hadoop?我按照Hadoop wiki中指定的步骤将项目导入Eclipse工作区。我应该先运行哪个项目?您可以从GitHub
    https://github.com/apache/hadoop-common
    ,我不知道您在eclipse中导入了哪些项目以及遵循了哪些图托。我觉得这很好。您可以导入所有项目,然后使用您想要的,这取决于您想要使用的hadoop版本(MapReduceV1或MRv2)。我将所有项目导入Eclipse。现在,我应该运行哪个项目?您是否创建了自己的项目?您是指map reduce作业?我的目的是找到主机将作业分配给节点的点。我希望复制这些任务,并为每个任务使用不同的作业id。是否可以通过调试来完成所有这些操作?我可以使用本地Hadoop设置找到所有这些步骤吗?