解决该问题的方法是使用额外的纱线配置选项配置作业。我做出了一个错误的假设,即java hadoop-client
api将使用配置目录中的配置选项。通过对单元测试使用log4j.properties启用详细日志记录,我能够诊断出问题。它表明作业在本地运行,没有提交给纱线资源管理器。经过一番尝试和错误,我能够配置作业并将其提交给纱线资源管理器。
码
try { configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000"); configuration.set("mapreduce.jobtracker.address", "localhost:54311"); configuration.set("mapreduce.framework.name", "yarn"); configuration.set("yarn.resourcemanager.address", "localhost:8032"); Job job = createJob(configuration); job.waitForCompletion(true); } catch (Exception e) { logger.log(Level.SEVERE, "Unable to execute job", e); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)