2015-01-07 13 views
1

我已經使用Cloudera Manager安裝了CDH5。我複製並建立從Cloudera的地圖字數應用/縮小教程Hadoop作業拋出ConnectException訪問端口8021

當我運行它,我得到以下文本的ConnectException:線程「main」 java.net.ConnectException

例外:致電fatman.localdomain/10.1.1.10到fatman.localdomain:8021失敗,連接異常:java.net.ConnectException:連接被拒絕;欲瞭解更多詳情,請參閱:http://wiki.apache.org/hadoop/ConnectionRefused

我是MRv2和Yarn的新手,所以我做了大量的研究,試圖弄清楚這裏發生了什麼。我的研究表明,Port 8021通常與MRv1中的JobTracker相關聯,並且Yarn中沒有JobTracker。根據我在鏈接中發現的異常消息,似乎有三個可能的問題,防火牆正在斷開連接,出現配置錯誤或應在該端口上監聽的服務未運行。我已驗證防火牆全部關閉。我懷疑沒有監聽端口8021的服務,並且應該沒有服務,這是一個配置問題,但我不知道如何驗證。在達到我目前的狀態之前,我已經安裝並卸載了幾個不同的CDH版本。在這個過程中可能會發生一些混亂。

我已經找到了具有以下性質的Hadoop配置文件/etc/hadoop/conf/mapred-site.xml:

<property> 
    <name>mapred.job.tracker</name> 
    <value>fatman.localdomain:8021</value> 
</property> 
<property> 
    <name>mapred.job.tracker.http.address</name> 
    <value>0.0.0.0:50030</value> 
</property> 

所以我可以從這個配置文件中獲取的8021端口。當我看到這個時,我發現CDH5已經定義了包括8021的MRv1端口。所以這使我相信CDH5支持MRv1和MRv2。當我查看Cloudera Manager時,我看到一個「Yarn(包含MR2)」服務正在運行,並且看起來沒有任何與MRv1相關聯的服務。這使我相信我正在運行MRv2而不是MRv1。

所以我很難過。我懷疑字數應用程序不應該嘗試在MRv2中使用端口8021(任何人都可以證實這一點?)。有人知道這裏發生了什麼,或者對如何弄清楚發生了什麼有什麼想法嗎?

謝謝你,史蒂夫

UPDATE: 我已經解決了這個問題。我認爲這是一個配置問題,並小心卸載CDH,確保刪除與安裝相關的所有內容,然後重新安裝。之後一切正常。所以......我並沒有真正弄清楚到底發生了什麼問題,但我現在能夠繼續前進。

謝謝Chowdary先生的回答。我會投票,但我缺乏這樣做的聲譽。

回答

1

在沒有配置文件和完整的錯誤堆棧的情況下找到問題是非常典型的。
在MR2中,我們不再使用JobTracker,因此使用jobtracker配置mapred-site.xml未被hadoop使用。 yarn-site.xml用於資源管理器配置並啓用yarn模型資源管理和應用程序監視。
那麼則必須在資源管理器在運行像下面

<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>host:port</value> 
    <description>the host is the hostname of the ResourceManager and the port is the port on 
    which the clients can talk to the Resource Manager. </description> 
    </property> 

yarn-site.xml定義和檢查SSH是否配置,沒有此配置,應用程序主無法與節點管理器通信推出容器。
您可以參考優秀網站thisthis輕鬆配置單節點集羣中的YARN
希望它有幫助!