简体   繁体   English

尽管设置了mapred.job.tracker值,Hadoop 1.2.1仍以本地模式运行

[英]Hadoop 1.2.1 is running in local mode despite set mapred.job.tracker value

I am trying to submit a giraph job to a hadoop 1.2.1 cluster. 我正在尝试将一个giraph作业提交给hadoop 1.2.1集群。 The cluster has a name node master, a map reduce master, and four slaves. 群集具有名称节点主服务器,映射减少主服务器和四个从服务器。 The job is failing with the following exception: 作业失败,出现以下异常:

java.util.concurrent.ExecutionException: java.lang.IllegalStateException: checkLocalJobRunnerConfiguration: When using LocalJobRunner, must have only one worker since only 1 task at a time!

However, here is my mapred-site.xml file: 但是,这是我的mapred-site.xml文件:

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>job.tracker.private.ip:9001</value>
     </property>
     <property>
         <name>mapreduce.job.counters.limit</name>
         <value>1000</value>
     </property>
     <property>
         <name>mapred.tasktracker.map.tasks.maximum</name>
         <value>50</value>
     </property>
     <property>
         <name>mapred.tasktracker.reduce.tasks.maximum</name>
         <value>50</value>
     </property>
</configuration>

and my core-site.xml file: 和我的core-site.xml文件:

<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://name.node.private.ip:9000</value>
     </property>
</configuration>

Additionally my job tracker's master file contains its private ip and the slaves file contains the private ips of the four slaves. 另外,我的作业跟踪器的主文件包含其私有IP,而从属文件包含四个从属的私有ips。 The name node's master file contains its private ip and the slaves file contains the private ips of the four slaves. 名称节点的主文件包含其私有IP,从属文件包含四个从属的私有ips。

I thought that setting the mapred.job.tracker field to the ip of the map reduce master would make hadoop boot with a remote job runner but apparently not - how can I fix this? 我认为将mapred.job.tracker字段设置为地图的ip减少master会使hadoop启动与远程作业运行器但显然不是 - 我该如何解决这个问题?

The problem wasn't that hadoop was running in local job mode, the problem is that giraph, configured on another machine, assumed that hadoop was running in local job mode. 问题不在于hadoop在本地作业模式下运行,问题是在另一台机器上配置的giraph假设hadoop在本地作业模式下运行。

I was submitting the job via gremlin, I needed to add the following line to the its configuration file: 我通过gremlin提交作业,我需要将以下行添加到其配置文件中:

mapred.job.tracker=job.tracker.private.ip:9001

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM