即使Hadoop正在运行,Hadoop也没有在作业跟踪器中显示我的工作
问题:当我向hadoop 2.2.0群集提交作业时,它不会显示在作业跟踪器中, 但作业成功完成。 通过这个我可以看到输出,它正确运行并在运行时打印输出。
我尝试了多种选择,但是求职者没有看到这份工作。 如果我使用2.2.0 hadoop运行流媒体作业,它会显示在任务跟踪器中,但是当我通过hadoop-client api提交它时,它不会显示在作业跟踪器中。 我正在查看端口8088上的ui接口以validation该作业
环境 OSX Mavericks,Java 1.6,Hadoop 2.2.0单节点集群,Tomcat 7.0.47
码
try { configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000"); configuration.set("mapred.jobtracker.address", "localhost:9001"); Job job = createJob(configuration); job.waitForCompletion(true); } catch (Exception e) { logger.log(Level.SEVERE, "Unable to execute job", e); } return null;
等/ hadoop的/ mapred-site.xml中
mapreduce.framework.name yarn mapred.job.tracker localhost:9001
等/ hadoop的/芯-site.xml中
hadoop.tmp.dir /tmp/hadoop-${user.name} A base for other temporary directories. fs.default.name hdfs://localhost:9000
解决问题的方法是使用纱线的额外配置选项配置作业。 我做了错误的假设,java hadoop-client api将使用配置目录中的配置选项。 我能够通过使用log4j.properties为我的unit testing打开详细日志记录来诊断问题。 它表明这些工作是在本地运行而没有提交给纱线资源经理。 通过一些试验和错误,我能够配置作业并将其提交给纱线资源管理器。
码
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); }
我看到你正在使用Hadoop 2.2.0。 您使用的是MRv1还是MRv2? MRv2(YARN)的守护进程是不同的。 虽然您可能会看到JobTracker UI的占位符页面,但MRv2没有JobTracker。
ResourceManager Web UI应显示已提交的作业。 ResourceManager的默认Web URL是http:// < ResourcemanagerHost >:8088
将ResourceManagerHost替换为运行资源管理器的节点的IP地址。
您可以在Apache Hadoop YARN上阅读有关YARN架构的更多信息
- java中的java.sql.SQLException:org.apache.thrift.transport.TTransportException?
- 将数据附加到HDFS Java中的现有文件
- 分布式作业调度,管理和报告
- hadoop2.2.0追加文件发生AlreadyBeingCreatedException
- 我怎样才能以编程方式获取Hadoop在Web界面中显示的所有作业跟踪器和任务跟踪器信息?
- 在HBase MapReduce任务中加载本机共享库
- 如何在Scalding中输出数据
- 错误的值类:类org.apache.hadoop.io.Text不是类org.apache.hadoop.io.IntWritable
- 从java中删除hdfs文件夹