wordcount作业正在“localjobrunner”而不是“yarn”上运行

wi3ka0sx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(481)

我正在EclipseLuna3.8中运行wordcount示例。我的工作在localjobrunner上运行良好,但我希望它在yarn cluster上运行,因为我想访问hadoop日志。我在某个地方读到,如果作业在本地运行,那么它在提交给资源管理器之前不会创建日志。只有当作业在上运行时,才能将作业提交到资源管理器。
我的工作环境:
hadoop-2.6.0作为伪分发模式运行。
月 eclipse 3.8。
任何帮助都将不胜感激。

nfeuvbwi

nfeuvbwi1#

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

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

nqwrtyyt2#

您需要在类路径上正确地使用yarn-site.xml和core-site.xml,以及所有的yarn和mapreduce jar(依赖项)。现在您可能有来自maven或其他什么的jar,但是您很可能丢失了那些配置文件。您可以从eclipse中的“runasconfiguration”在类路径上设置这些。我假设您有本地hadoop安装和这些配置文件,您可以运行hadoop命令。在这种情况下,可以将类路径指向该安装的conf dir和lib dir。这可能很乏味,但首先只需指向conf dir(它包含核心站点和yarn站点),看看是否有效。如果没有,那么也排除您的eclipses本地依赖(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和配置文件,才能成功地将其部署到集群上。

相关问题