Hadoop 叢集各節點之間使用 SSH 進行通訊和傳送檔案,因此要設置節點之間無須 SSH 登錄也能登錄。在如圖 12 所示要在各虛擬機下達【ssh 127.0.0.1】命令,一次以創建 ~/.ssh 文件夾。之後每台虛擬機均要生成一條 SSH 私有鑰匙。Master 通過 SSH 指令將全部 Slave 的私有鑰匙加入到自己 ~/.ssh/authorized_keys。最後將 Master 的 authorized_keys 傳送至全部 Slave 的 ~/.ssh/ 文件夾。



圖 12 建立 SSH 私有鑰匙

在如圖 13 所示生成 SSH 私有鑰匙時,系統會提示輸入字符,您並不需輸入任何東西,只要按【Enter】按鈕即可。最後您會看到它生成了一個 RSA 2048bit 的指紋檔。並接著如圖 14 所示於 Master 下達【cat ./id_rsa.pub >> ./authorized_keys】命令將自己的私有鑰匙加入到 ~/.ssh/authorized_keys 及下達【sudo chmod 600 ./authorized_keys】命令更改其權限為rw——-。




圖 13 Master 生成 SSH 私有鑰匙




圖 14 Master 加入私有鑰匙

當全部 Slave 都生成了 SSH 私有鑰匙,在如圖 15 所示,我們下達【ssh hadoop@Slave1 cat ~/.ssh/id_rsa.pub >> ./authorized_keys】及【ssh hadoop@Slave2 cat ~/.ssh/id_rsa.pub >> ./authorized_keys】命令將 Slave 的 SSH 私有鑰匙加入到 Master 的 ~/.ssh/authorized_keys 文件內。如期間系統提示您要輸入 yes 或no,請輸入【yes】。並接著如圖 16 所示於 Master 下達以下四條命令將已完成設定的 authorized_keys 傳送至全部 Slave 的 ~/.ssh/ 文件夾。

ssh hadoop@Slave1 cat ~/.ssh/id_rsa.pub >> ./authorized_keys
ssh hadoop@Slave2 cat ~/.ssh/id_rsa.pub >> ./authorized_keys

scp ~/.ssh/authorized_keys hadoop@Slave1:~/.ssh
scp ~/.ssh/authorized_keys hadoop@Slave2:~/.ssh




圖 15 Slave 生成 SSH 私有鑰匙




圖 16 Master 傳送 authorized_keys

我們開始在 Master 虛擬機器下載 Hadoop 2.7.2 安裝包,然後會在 Master 將完成設定的 Hadoop 設定檔傳送給各 Slave。在如圖 17 所示我們使用 wget下達【wget -P ~/ http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz】命令下載 Hadoop 2.7.2 安裝包到 /home/hadoop/ 目錄下。如想下載至其他目錄,請將 -P後的 ~/ 更改成您想放置安裝包的地方。




圖 17 下載 Hadoop 安裝包

在如圖 18 所示,首先下達【sudo tar -zxf ~/hadoop-2.7.2.tar.gz】命令將 Hadoop 安裝包解壓縮,並接著下達【sudo mv ./hadoop-2.7.2/ /usr/local/hadoop】命令移至 /usr/local/ 目錄下。之後,將該文件夾擁有者更改為 Hadoop 帳號。我們可以下達【ls -l /usr/local | grep hadoop】命令驗證上述命令是否成功執行。




圖 18 解壓 Hadoop 安裝包

我們要告訢 NameNode 有哪些 DataNode 及其在網絡上位置。如圖 19 所示先刪去/usr/local/hadoop/etc/hadoop/slaves 入面原有的 localhost ,因我們先前已經設置好 Hosts 檔案,現在只要將各 Slave 的主機名稱加入即可。若你選擇保留 localhost,Master 將會兼任 NameNode 和 DataNode 兩個身份。




圖 19 指定 DataNode 位置

編輯四個 Hadoop 較為重要設定檔 — core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml,四個檔案都放置在 /usr/local/hadoop/etc/hadoop/ 目錄下。這裏加入的是基本參數,如需進行細微調整,請自行參閱官方線上文檔。在修改上述設定檔前,我們先用 cp 命指複製一個作備份和救亡之用,如 cp core-site.xml core-site.xml.bak。修改參數有三個 tag, 為宣告你要修改參數, 為參數名稱, 為參數值。

在如圖 20 所示為 core-site.xml 需加入的參數。該設定檔用於設置 Hadoop 核心部分。




圖 20 修改 core-site.xml

待續……

深入 Hadoop 大數據分析:請先由叢集中開始吧!
深入 Hadoop 大數據分析:初探網絡環境與設定
深入 Hadoop 安裝與設定:1.X 跟 2.X 版本最大分別是…?
深入 Hadoop 安裝與設定:SSH 私有鑰匙設定與安裝


 深入 Hadoop 安裝與設定:SSH 私有鑰匙設定與安裝

 https://www.facebook.com/hkitblog