我正在尝试将hadoop服务器设置为pseudo distributed,以允许并行执行map/reduce任务。现在,当我运行作业时,控制台输出以下行:
Running job: job_local1508664063_0001
这意味着我处于本地模式,所以所有任务都按顺序排列是正常的。这是我当前的配置,我必须编辑什么才能让hadoop运行并行Map任务/减少任务(我使用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个Map任务,这些任务按顺序运行。
如本帖所述:
stackoverflow.com/questions/26267476/why-my-map-reduce-job-is-running-sequential为什么
ps:为了确保已加载配置,在我的java Web服务中,我对以下内容进行了冗余设置:
conf.set("mapreduce.jobtracker.address", "mymachine:54311");
conf.set("mapreduce.jobtracker.http.address", "mymachine:50030");
我还设置了允许多个contaniers==>并行Map任务的资源
(i7 4/8,8gb内存)
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
2条答案
按热度按时间bihw5rsg1#
您可以使用一个免费的开源apacheambari来安装、配置和管理一个完整的hadoop集群,可以是单节点的,也可以是多节点的,所有的配置都来自webui,或者将配置模板存储在版本控制中。
使用ambari部署、管理和配置hdp
mitkmikd2#
在hadoop2.x中没有jobtracker和tasktraker。来自hadoop1.x。
我在github上维护一个脚本,可以从头开始设置hadoop。你会发现它很有用。它包含最少的hadoop配置。
https://github.com/hadoopfromscratch/hadoopfromscratch/