问题:当我向hadoop 2.2.0集群提交一个作业时,它不会显示在作业跟踪器中,但该作业成功完成了。通过这个,我可以看到输出,它正在正确运行,并在运行时打印输出。
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;
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
解决这个问题的办法是为纱线配置额外的配置选项。我错误地假设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);
}
问题内容: 问题: 当我将作业提交到hadoop 2.2.0集群时,它没有显示在作业跟踪器中, 但是作业成功完成。 这样,我可以看到输出并且它正在正确运行,并在运行时打印输出。 我尝试了多个选项,但作业跟踪器看不到该作业。如果我使用2.2.0 hadoop运行流作业,它将显示在任务跟踪器中,但是当我通过hadoop-client api提交它时,它不会显示在作业跟踪器中。我正在查看端口8088上的
我在试着从工作跟踪器那里收集一些信息。对于初学者,我想从获得正在运行的作业信息开始,如作业id或作业名称等,但已经卡住了,以下是我获得的(打印当前正在运行的作业的作业id): 当试图显示作业id时,上面的工作很有魅力,但现在我也想显示作业名称。所以我在打印作业id后添加了这一行: 首先从jobClient获取,然后获取它的名称http://hadoop.apache.org/mapreduce/d
当我启动hadoop作业跟踪器和任务跟踪器不工作时。 127.0.1.1 ubuntu.ubuntu-域ubuntu 192.168.2.135主机 192.168.2.250从机 我可以联系到本地主机:50070和主机:50070。但我无法联系localhost:50030或master:50030
我试图在hadoop中运行一个程序,但我一直得到: 线程“main”java.lang.unsupportedClassVersionError:hadoop_project_16/aggregatejob:不支持major.minor版本52.0在java.lang.ClassLoader.DefineClass1(本机方法)在java.lang.ClassLoader.DefineClass(
这是关于一个flink作业,它有一个简单的源来从url中获取数据,然后过滤数据,然后在一个进程函数中收集数据一段时间(keyBy),最后在一个映射中处理收集到的数据。由于某些原因,即使flinkUI显示它正在运行,作业在几天后也会停止运行。有没有办法知道为什么会有这样的行为,也有没有办法知道一个作业实际上是否已经停止,即使UI显示它正在运行。 附言:我怎么知道工作已经停止了??答:它没有执行它正在
问题内容: 如果我知道作业ID,有什么方法可以检索作业配置(配置中的某些属性)? 基本上,我正在做的是检查当前是否有任何正在运行的作业,然后我要检查当前正在运行的任何作业中是否存在某些属性值? 用于检索当前正在运行的作业的部分代码: 问题答案: 您可以在作业跟踪器中查看正在运行的作业的配置,该配置通常在端口50030上运行。