新的MapReduce架构和Eclipse

时间:2011-08-15 16:35:50

标签: eclipse architecture hadoop mrv2

围绕MapReduce的Hadoop发生了一些重大的重新分解。有关相同的细节可以在下面的JIRA中找到。

https://issues.apache.org/jira/browse/MAPREDUCE-279

它有ResourceManager,NodeManager和HistoryServer守护进程。有人试过在Eclipse中运行它们吗?这样可以更容易进行开发和调试。

我已经在Hadoop论坛上发了一封邮件,没人试过。只是想检查某人是否在stackoverflow中做了类似的事情。

2 个答案:

答案 0 :(得分:0)

我已经尝试在我的主机上运行YARN(下一代mapreduce)几天了。

首先,使用svn或git从apache.org获取源代码。以svn为例:

svn co https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.0

然后,使用maven生成eclipse相关文件(在此步骤之前,您应该在主机上配置manve3。)

mvn test -DskipTests

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true

现在你可以将现有的maven项目导入eclipse。(你应该首先在eclipse中配置maven插件。)

在eclipse中:文件 - >导入现有的Maven项目

Choose "Existing Projects into Workspace"
Select the hadoop-mapreduce-project directory as the root directory
Select the hadoop-mapreduce-project project
Click "Finish"

由于class_path / build_path未正确配置且未包含所有依赖包/类,因此我尝试了很多次。尝试“添加外部类文件夹”并选择当前项目的构建目录如果遇到与我相同的问题,请选择项目属性。


更新:2012-03-15

我现在可以在eclipse中运行YARN(与Hadoop0.23相同)。

首先,您应该通过exec命令成功编译/构建Yarn:

mvn clean package -Pdist -Dtar -DskipTests

由于我只关心如何调试YARN,我在linux终端的单个主机上运行HDFS,而不是在eclipse中运行。

bin/hdfs namenode -formate -clusterid your_hdfs_id
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

然后,将hadoop 0.23导入eclipse并找到resourcemanager.java,下一步就是在eclipse中运行这个类。细节步骤:

  • 右键单击,然后选择“作为应用程序运行”
  • 添加新配置以运行此类,在参数部分中,填写内容:

    - config your_yarn_conf_dir(与HDFS conf dir相同)

  • 单击运行按钮,您将在eclipse控制台中找到resourcemanager输出。

在eclipse中运行Nodemanaer与运行Resourcemanager相同。添加新配置并使用“--config your_yarn_conf_dir”填充参数,然后按“运行”按钮。

快乐编码〜!

答案 1 :(得分:0)

Nourl等待https://issues.apache.org/jira/browse/MAPREDUCE-3131完成。您可以通过任何方式查看修订版并尝试运行该修订版。

您需要mvn site:site生成一个文档,其中包含所有文档。并且为了弄清楚如何?你可以打开脚本debug.sh并亲自看看。

基本上我们传递JAVA_OPTIONS并指定eclipse远程调试参数。对于子进程来说这很棘手,因为需要指定一个属性mapred.child.java.opts

HTH

-P