尽管设置了mapred.job.tracker值,hadoop1.2.1仍在本地模式下运行

fae0ux8s  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(384)

我正在尝试向hadoop1.2.1集群提交giraph作业。集群有一个名称节点主节点、一个map reduce主节点和四个从属节点。作业失败,出现以下异常: 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>

另外,我的job tracker的主文件包含它的私有ip,从属文件包含四个从属的私有ip。名称节点的主文件包含其私有ip,从属文件包含四个从属的私有ip。
我认为将mapred.job.tracker字段设置为map reduce主机的ip会使hadoop使用远程作业运行程序启动,但显然不是-我如何解决这个问题?

kq0g1dla

kq0g1dla1#

问题不是hadoop在本地作业模式下运行,而是giraph在另一台机器上配置,假设hadoop在本地作业模式下运行。
我是通过gremlin提交作业的,我需要在its配置文件中添加以下行:

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

相关问题