尽管设置了 mapred.job.tracker 值,但 Hadoop 1.2.1 在本地模式下是 运行
Hadoop 1.2.1 is running in local mode despite set mapred.job.tracker value
我正在尝试将 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>
和我的核心-site.xml 文件:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://name.node.private.ip:9000</value>
</property>
</configuration>
此外,我的工作跟踪器的主文件包含其私有 ip,从文件包含四个从属的私有 ip。 name node的master文件包含它的私有ip,slaves文件包含四个slave的私有ip。
我认为将 mapred.job.tracker 字段设置为 map reduce master 的 ip 会使 hadoop 使用远程作业运行器启动,但显然不是 - 我该如何解决这个问题?
问题不在于 hadoop 在本地作业模式下 运行,问题是在另一台机器上配置的 giraph 假设 hadoop 在本地作业模式下 运行。
我正在通过 gremlin 提交作业,我需要将以下行添加到其配置文件中:
mapred.job.tracker=job.tracker.private.ip:9001
我正在尝试将 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>
和我的核心-site.xml 文件:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://name.node.private.ip:9000</value>
</property>
</configuration>
此外,我的工作跟踪器的主文件包含其私有 ip,从文件包含四个从属的私有 ip。 name node的master文件包含它的私有ip,slaves文件包含四个slave的私有ip。
我认为将 mapred.job.tracker 字段设置为 map reduce master 的 ip 会使 hadoop 使用远程作业运行器启动,但显然不是 - 我该如何解决这个问题?
问题不在于 hadoop 在本地作业模式下 运行,问题是在另一台机器上配置的 giraph 假设 hadoop 在本地作业模式下 运行。
我正在通过 gremlin 提交作业,我需要将以下行添加到其配置文件中:
mapred.job.tracker=job.tracker.private.ip:9001