2017-01-09 116 views
0

我试图在伪分布式中设置hadoop服务器,以允许并行执行map/reduce任务。现在,当我运行作业时,控制台输出以下行:Hadoop单个伪分布式节点群集中的问题

Running job: job_local1508664063_0001 

这意味着我在本地模式,所以这是正常的,所有的任务都测序。这是我目前的配置,我必须编辑让hadoop运行并行地图任务/减少任务? (我用的启动DFS运行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:以确保CONFIGS是装在我的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

回答

0

在hadoop 2.x中没有jobtracker和tasktrakers。这是来自hadoop 1.x.

我在github上维护一个脚本,从头开始设置hadoop。你会发现它很有用。它包含最低限度的Hadoop配置以开始使用。

https://github.com/hadoopfromscratch/hadoopfromscratch/

+0

谢谢你,但是当我运行作业,Hadoop的继续把它看作是“本地”,因此没有平行的map/reduce任务执行... –

0

您可以使用免费和开源的Apache Ambari安装,配置和管理一个完整的Hadoop集群,无论是单节点或者多节点,从网络用户界面的所有配置或存放在版本控制你的配置模板。

DEPLOYING, MANAGING AND CONFIGURING HDP WITH AMBARI