天天看點

《深入了解大資料:大資料處理與程式設計實踐》一一2.2 單機和單機僞分布式Hadoop系統安裝基本步驟

本節書摘來自華章計算機《深入了解大資料:大資料處理與程式設計實踐》一書中的第2章,第2.2節,作者 主 編:黃宜華(南京大學)副主編:苗凱翔(英特爾公司),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

預設情況下,hadoop被配置成一個以非分布式模式運作的獨立java程序,适合程式員在本地做程式設計和調試工作。hadoop也可以在單節點上以僞分布式模式運作,用不同的java程序模拟分布式運作中的各類節點(namenode、datanode、jobtracker、tasktracker和secondary namenode)。

2.2.1 安裝和配置jdk

hadoop是以java語言寫成,因而需要在本地計算機上預先安裝java 6或者更新版本。盡管其他java安裝包也聲稱支援hadoop,但使用最廣的仍然要數sun的jdk。

在這裡,我們采用的版本為jdk-6u23-linux-x64。安裝步驟如下:

1)将jdk-6u23-linux-x64-rpm.bin拷貝到所需要的安裝目錄下,如/usr/jdk。

2)執行./jdk-6u23-linux-x64-rpm.bin安裝檔案。

3)配置java_home以及class_path,vi進入/etc/profile,在檔案最後加上如下語句:

儲存退出,執行以下指令使得配置檔案生效。

4)執行以下指令檢視目前版本配置是否生效。

$java –version

5)檢視classpath有無生效,可編寫helloworld類至目前目錄,執行以下指令分别進行編譯和執行,檢視結果是否正确。

2.2.2 建立hadoop使用者

為hadoop建立一個專門的使用者,例如hadoop:hadoop-user(使用者名:使用者組)。可以在安裝系統的時候就建立,也可以在安裝好之後用如下指令建立:

2.2.3 下載下傳安裝hadoop

$tar –xzvf hadoop-1.2.1.tar.gz

2.2.4 配置ssh

為了保證在遠端管理hadoop節點以及hadoop節點間使用者共享通路時的安全性,hadoop系統需要配置和使用ssh(安全外殼協定)。在單機模式下無需任何守護程序,是以不需要進行ssh設定,但是在單機僞分布模式和叢集分布模式下需要進行ssh設定。

hadoop需要通過ssh來啟動slave清單中各台主機的守護程序。但由于ssh需要使用者密碼登入,是以為了在系統運作中完成節點的免密碼登入和通路,需要将ssh配置成免密碼登入方式。

配置ssh的主要工作是建立一個認證檔案,使得使用者以public key方式登入,而不用手工輸入密碼。配置基本配置步驟如下。

1)生成密鑰對,執行如下指令:

$ssh-keygen –t rsa

2)然後一直按鍵,就會按照預設的選項将生成的密鑰對儲存在.ssh/id_rsa檔案中,如圖2-1所示。

《深入了解大資料:大資料處理與程式設計實踐》一一2.2 單機和單機僞分布式Hadoop系統安裝基本步驟

圖2-1 将密鑰對儲存在.ssh/id.rsa檔案中

3)進入.ssh目錄,執行如下指令:

4)此後執行如下指令:

5)測試一下能否登入,是否可實作用ssh連接配接并且不需要輸入密碼。

2.2.5 配置hadoop環境

切換到hadoop的安裝路徑找到hadoop-1.2.1下的conf/hadoop-env.sh檔案夾,使用vi或文本編輯器打開,添加如下語句:

$export java_home=/usr/java/jdk1.6.0

hadoop-1.2.1的配置檔案是conf/core-site.xml、conf/hdfs-site.xml和conf/mapred-site.xml。其中core-site.xml是全局配置檔案,hdfs-site.xml是hdfs的配置檔案,mapred-site.xml是mapreduce的配置檔案。以下列出幾個示例配置檔案。

core-site.xml的文檔内容如下所示:

2.2.6 hadoop的運作

1.?格式化hdfs檔案系統

在初次安裝和使用hadoop之前,需要格式化分布式檔案系統hdfs。使用如下指令格式化分布式檔案系統:

2.啟動hadoop環境

啟動hadoop守護程序,指令如下:

成功執行後将在本機上啟動namenode、datanode、jobtracker、tasktracker和secondary namenode五個新的java程序。

3.?停止hadoop守護程序

最後需要停止hadoop守護程序,指令如下:

2.2.7 運作測試程式

下面用一個程式測試能否運作任務,示例程式是一個hadoop自帶的pi值的計算。第一個參數是指要運作的map的次數,第二個參數是指每個map任務取樣的個數。

2.2.8 檢視叢集狀态

當hadoop啟動之後,可以用jps指令檢視一下它是不是正常啟動。

如果顯示以上的資訊,則表示hadoop已正常啟動。