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

时间:2017-04-14 00:37:36

标签: hadoop mapreduce olap gremlin giraph

我正在尝试将一个giraph作业提交给hadoop 1.2.1集群。群集具有名称节点主服务器,映射减少主服务器和四个从服务器。作业失败,出现以下异常:

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

但是,这是我的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>

和我的core-site.xml文件:

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

此外,我的作业跟踪器的主文件包含其私有IP,而从属文件包含四个从属的私有ips。名称节点的主文件包含其私有IP,从属文件包含四个从属的私有ips。

我认为将mapred.job.tracker字段设置为地图的ip减少主机将使远程作业运行器进行hadoop启动但显然不是 - 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题不是hadoop在本地作业模式下运行,问题是在另一台机器上配置的giraph假设hadoop在本地作业模式下运行。

我是通过gremlin提交作业的,我需要将以下行添加到其配置文件中:

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