2013-01-21 165 views
4

我的經理向我提供了一個Amazon實例以及一個ppk。能夠登錄;試圖安裝hadoop;進行了所需的配置更改,如將主服務器和從服務器文件從本地主機編輯爲EC2實例名稱,向mapred-site.xml/hdfs-site.xml/core-site.xml文件添加所需的屬性,將namenode格式化爲HDFS 。 現在,當我運行start-dfs.sh腳本時,出現以下錯誤。 開始namenode,登錄到/home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-namenode-domU-12-31-39-07-60-A9.out 主機'XXX.amazonaws的真實性.com(某些IP)「無法建立。在啓動Hadoop時,EC2上的權限被拒絕(publickey)

您確定要繼續連接(是/否)嗎?是的 XXX.amazonaws.com:警告:永久性地將'XXX.amazonaws.com'(ECDSA)添加到已知主機列表中。 XXX.amazonaws.com:權限被拒絕(publickey)。 XXX.amazonaws.com:權限被拒絕(publickey)。

截至目前,主從節點將是同一臺機器。

XXX是實例名稱,一些IP是它的IP。出於安全原因掩蓋它們。

我完全不知道如何使用EC2實例,SSH等,只需要在其中運行一個簡單的MapReduce程序。

請提出建議。

+0

只要提一下,聽起來非常像在http://insightdataengineering.com/blog/hadoopdevops/下的Austin Ouyang教程。 – Samuel

回答

4

Hadoop使用SSH將信息從主機傳輸到從機。它看起來像你的節點正試圖通過SSH相互交談,但尚未配置爲這樣做。爲了進行通信,Hadoop主節點需要對從節點進行無密碼SSH訪問。無密碼很有用,因此每次嘗試運行作業時都不必再爲每個從節點輸入密碼。這將是非常乏味的。看起來你必須在節點之間設置它,然後才能繼續。

我建議你檢查this guide並找到「配置SSH」部分。它列出瞭如何實現這一點。

+0

是的,那工作... – user149332

+0

我有另一個問題,雖然...我datanode不啓動,日誌顯示錯誤org.apache.hadoop.hdfs.server.datanode.DataNode:java.net.BindException:問題綁定到/0.0.0.0:50010:地址已經在使用 我試着刪除tmp目錄中的data/name文件夾,重新格式化hdfs,運行start-dfs.sh腳本。儘管NN啓動,但SNN也啓動但幾乎立即關閉,併發出以下消息INFO org.apache.hadoop.http.HttpServer:在open()爲-1之前由webServer.getConnectors()[0] .getLocalPort()返回的端口。打開50090上的監聽器。 – user149332

+0

試過netstat -nl | grep 50010;它顯示有一些進程正在運行但找不到該pid。 jps沒有顯示任何進程,因此嘗試了「sudo jps」並且顯示有DN和SNN進程正在運行;所以通過sudo kill -9 殺死了那些人。現在開始了我的海洛因和一切作品。 – user149332

相關問題