我正在尝试在伪分发中设置hadoop服务器,以允许并行执行map / reduce任务。现在,当我运行一个作业时,控制台输出以下行:
Running job: job_local1508664063_0001
这意味着我处于本地模式,因此所有任务都按顺序排列是正常的。这是我当前的配置,我必须编辑让hadoop运行并行映射任务/减少任务? (我使用start-dfs和start-yarn运行hadoop服务器)
mapred-site.xml中
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.address</name>
<value>mymachine:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>mymachine:50030</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
</configuration>
mymachine是服务器的帐户名称。我也试过ip得到相同的结果,工作经理仍然认为服务器是“本地的”。 当前作业创建12个地图任务,这些任务按顺序运行。
正如本帖所述:
stackoverflow.com/questions/26267476/why-my-map-reduce-job-is-running-sequentially
PS:为了确保加载配置,在我的java webservice中我做了一个冗余集:
conf.set("mapreduce.jobtracker.address", "mymachine:54311");
conf.set("mapreduce.jobtracker.http.address", "mymachine:50030");
我还设置资源以允许多个contaniers ==&gt;并行映射任务
(i7 4 / 8,8gb ram)
conf.set("yarn.nodemanager.resource.memory-mb", "6144");
conf.set("yarn.nodemanager.resource.cpu-vcores", "8");
conf.set("yarn.scheduler.minimum-allocation-mb", "1024");
我该如何修改配置?我的hadoop版本是2.7.1
答案 0 :(得分:0)
在hadoop 2.x中,没有jobtracker和tasktrakers。这是来自hadoop 1.x。
我在github上维护一个脚本,从头开始设置hadoop。你会发现它很有用。它包含最少的Hadoop配置以便入门。
答案 1 :(得分:0)
您可以使用免费的开源Apache Ambari来安装,配置和管理完整的hadoop集群,无论是单节点还是多节点,具有来自Web UI的所有配置或将您的配置模板存储在版本控制中。