WordCount作业正在' localjobrunner'而不是' yarn'

时间:2017-05-02 18:23:19

标签: eclipse hadoop local yarn word-count

我在eclipse luna 3.8中运行WordCount示例。我的工作在localjobrunner上正常运行,但我希望它在yarn集群上运行,因为想要访问hadoop日志。在某处我读到如果作业在本地运行,那么在提交给资源管理器之前它不会创建日志。只有当作业在纱线上运行时,才可以将作业提交给资源管理器。

我的工作环境:

hadoop-2.6.0作为伪分发模式运行。

eclipse luna 3.8。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用 YARN 特定配置初始化作业。在驱动程序中添加这些配置,

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:8020");
conf.set("mapreduce.framework.name", "yarn");
conf.set("yarn.resourcemanager.address", "localhost:8032");

答案 1 :(得分:0)

您需要在类路径上正确地使用yarn-site.xml和core-site.xml以及所有yarn和mapreduce jar(依赖项)。现在你可能有maven或其他东西,但你很可能错过了那些配置文件。您可以在eclipse中的“Run as configuration”中设置类路径。我假设你有这些配置文件的本地hadoop安装,你可以运行hadoop命令。在这种情况下,您可以将类路径指向该安装的conf目录和lib目录。这可能是乏味的,但首先只是指向conf dir(其中包含core-site和yarn-site),看看是否有效。如果没有,那么还要排除您的日食本地依赖关系(maven或类似的)yarn和mapreduce,并从您的安装目录中明确设置它们。查看本文以设置hadoop1的类路径: https://letsdobigdata.wordpress.com/2013/12/07/running-hadoop-mapreduce-application-from-eclipse-kepler/

这是MapR的另一篇文章(忽略mapr客户端相关设置) https://mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr/

您可以为hadoop2(yarn)执行类似的步骤,但基本的想法是您的应用程序运行时必须在类路径上拾取正确的jar和配置文件,以便能够在群集上成功部署它。

相关问题