围绕MapReduce的Hadoop发生了一些重大的重新分解。有关相同的细节可以在下面的JIRA中找到。
https://issues.apache.org/jira/browse/MAPREDUCE-279
它有ResourceManager,NodeManager和HistoryServer守护进程。有人试过在Eclipse中运行它们吗?这样可以更容易进行开发和调试。
我已经在Hadoop论坛上发了一封邮件,没人试过。只是想检查某人是否在stackoverflow中做了类似的事情。
答案 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中运行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