2017-01-09 118 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