hadoop 0.20.2偽分散式安裝詳解

王明輝發表於2019-02-13

adoop 0.20.2偽分散式安裝詳解

 

hadoop有三種執行模式:

 

 

 

偽分散式不需要安裝虛擬機器,在同一臺機器上同時啟動5個程式,模擬分散式。

完全分散式至少有3個節點,其中一個做master,執行名稱節點(namenode)、作業跟蹤器(jobtracker)等主要程式,另外兩個做datanode,執行tasktracker,最好有兩個,否則沒有冗餘,談不上叢集。

 

 

  

下載hadoop 0.20.2安裝包:

http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz

解壓後,放置在合適的位置,如/opt/Hadoop-0.20.2,執行以下命令:

tar -zxvf /opt/haddop-0.20.2

x表示展開檔案,-x | --extract | --get 從存檔展開檔案

z表示用gzip對文件進行壓縮或解壓,-z | --gzip | --ungzip 用gzip對存檔壓縮或解壓

-v | --verbose 詳細顯示處理的檔案

-f | --file [HOSTNAME:]F 指定存檔或裝置(預設為 /dev/rmt0)

如果指定解壓目錄,則最一個字元應當是“/”,否則就是檔案了

 

進入Hadoop-0.20.2目錄

vim conf/Hadoop-env.sh

其中的conf目錄是config的縮寫,通常是用來放置配置檔案的目錄,很多開源軟體習慣於使用這個目錄名稱。Hadoop版本不同,配置檔案可能也不同,要根據實際情況有所調整。

 

解壓後,進入Hadoop-0.20.2目錄,進行配置

 

 

本文配置這四個檔案。

 

修改hadoop-env.sh檔案

進入conf目錄,找到圖中的三個檔案

vim hadoop-env.sh

 

 

找到JAVA_HOME那一項,或修改,或增加,由你選擇,最後使

export JAVA_HOME=你的java目錄

這一行生效。

此檔案暫時僅配置這一項即可。

修改core-site.xml檔案

然後

vim core-site.xml

 

最初的<configuration>項是空的,偽分散式完全按照圖中的<property>部分新增即可。

完全分散式要把hdfs:項的主機名部分換成對應的IP或主機名,不管是什麼,不會是localhost,此處要注意。

其中的fs.default.name用來指定namenode的IP地址和埠,用於和對應的節點聯絡。

 

修改hdfs-site.xml檔案

vim hdfs-site.xml

 

 

與core-site相同,第一次進入時<configuration>項是空的,偽分散式完全按照紅圈部分新增即可。完全分散式要修改dfs.replication部分的value,因為hadoop會往多個節點中複製資料用於備份,此處設定的是最大份數,也就是資料節點的數量,也就是小弟的數量,偽分散式只有一個節點,所以是1,寫多了也沒用。dfs.data.dir是資料節點的資料的存放位置。

 

 

其它引數不多講。

 

修改mapred-site.xml

vim mapred-site.xml

 

 

作業跟蹤器的位置,埠預設,無須修改。作業跟蹤器是整個mapreduce系統排程的核心。

偽分散式照搬上圖,完全分散式修改主機名。

 

 

 

其它引數,暫時不動。

 

生成SSH金鑰對

 

 

 

  1. 輸入su,切換到root使用者
  2. cd /root,進入root目錄
  3. 執行ssh-kengen -t rsa

 

給root使用者建立一對金鑰,公鑰和私鑰,不對稱(不一樣),公鑰可公開,別人拿到公鑰後,可對檔案需要加密的內容進行加密,然後傳給伺服器,伺服器可用私鑰解密。公鑰加密的,只有私鑰才能解密。反之亦然,可以用私鑰加密,用公鑰可以解密,私鑰本身無法解密,但這樣做沒有意義。

拿到公鑰,反推私鑰,基本上不可能,以目前的計算能力,需要幾百年。

RSA演算法,產生金鑰過程時間很短,但反推消耗時間非常長。例如,兩個上千位的素數相乘,所得到的結果,如果反推,可能性太多,只能逐一嘗試,這樣就會消耗非常長的時間。

 

Enter file in which to save the key,這一句是問把生成的公鑰和私鑰存放在哪個檔案,如果輸入a,則生成a.pub和a兩個檔案。如果不輸入,直接回車,則生成預設檔名id_rsa.pub和id_rsa。

 

可以使用任何編輯工具檢視它們的內容,比如cat id_rsa.pub,裡面是人類無法理解的字串。

 

然後執行命令:

cp id_isa.pub authorized_keys

 

authorized_keys中存在id_rsa.pub公鑰,就可以免密碼連入

 

至此,hadoop0.20.2的偽分散式就配完了。

 

格式化分散式檔案系統

hadoop目錄下執行bin/hadoop namenode -format

 

 

此操作的目的在於,在“名稱節點”上建立一系列結構,用來存放整個HDFS的後設資料,

出現綠圈的提示has been successfully formatted即是配置成功。

 

下面在hadoop目錄下執行以下命令:

bin/start-all.sh

(如果進入bin目錄,然後執行start-all.sh,會報“未找到命令”)

 

 

如果沒有看到denied之類的提示,就是啟動成功了。

 

檢測守護程式啟動情況

在root使用者下,使用java的jps,會看到類似以下的提示:

一樣的規則,不能進入到java的bin目錄下執行jps,而是java目錄下執行bin/jps

 

 

 

表示偽分散式hadoop0.20.2配置成功。

相關文章