天天看點

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

本節書摘來自華章出版社《r與hadoop大資料分析實戰》一書中的第1章,第1.4節,作者 (印)vignesh prajapati,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

現在假定你已經了解了r語言,知道它是什麼,如何安裝它,它的主要特點是什麼,以及為什麼要使用它。現在,我們需要知道r的局限性(這樣能更好地引入對hadoop的介紹)。在處理資料前,r需要将資料加載到随機存取存儲器(ram)。是以,資料應該小于現有機器記憶體。對于資料比機器記憶體還要大的,我們将其看做大資料(由于大資料還有許多其他定義,這隻适用于我們現在所說的例子)。

為了避免這類大資料問題,我們需要擴充硬體配置,但這隻是一個臨時解決方案。為了解決這一問題,我們需要使用一個hadoop叢集,能夠存儲大資料并在大型計算機叢集進行并行計算。 hadoop是最流行的解決方案。 hadoop是一個開源的java架構,它是apache軟體基金會操作下的頂級項目。 hadoop的靈感源于google檔案系統和mapreduce,這兩項技術主要用于進行分布式大資料處理。

hadoop主要支援linux作業系統。若要在windows上運作它,我們需要使用vmware在windows作業系統中加載ubuntu。實際上使用和安裝hadoop的方法有很多種,但在這裡我們考慮支援r語言的最佳方式。在我們整合r和hadoop之前,先來了解什麼是hadoop。

hadoop使用方式有以下三種模式:

the standalone mode(單機版模式):在此模式下,不需要啟動任何hadoop背景程式。相反,隻需要打開~/hadoop-directory/bin/hadoop以單一java程序方式執行hadoop程式。建議此模式用于測試目的。這是預設模式,無須進行任何其他配置。所有的背景程式,如namenode、datanode、jobtracker和tasktracker都以單一java程序運作。

the pseudo mode(虛拟模式):在此模式下,需要在所有節點上配置hadoop。每個hadoop的元件或守護程序使用一個單獨的java虛拟機(jvm),類似于在一個主機上運作最小叢集。

the full distributed mode(全分布模式):在此模式下,hadoop将分布在多台機器中。專用主機根據每個hadoop節點進行配置。是以,不同的jvm程序對所有的守護程序開放。

hadoop的安裝有幾種可行方式,我們将選擇與r整合更好的方式。我們将選擇ubuntu作業系統,因為它易于安裝和操作。

在linux、ubuntu面闆(單節點以及多節點叢集)上安裝hadoop。

在ubuntu上安裝cloudera hadoop。

在linux、ubuntu面闆上安裝hadoop(單節點叢集)

要在ubuntu作業系統安裝hadoop的虛拟模式,需要滿足以下先決條件:

使用sun java 6

成為專用的hadoop系統使用者

配置ssh

禁用ipv6

以上提供的hadoop的安裝可使用hadoop mrv1實作。

按照以下步驟安裝hadoop。

從apache軟體基金會下載下傳最新的hadoop。在這裡,我們采用apache hadoop 1.0.3,盡管最新的版本是1.1.x.

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

添加$java_home和$hadoop_home變量到hadoop系統使用者的.bashrc檔案。更新後的.bashrc檔案如下:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝
《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

用conf / * -site.xml指令來更新hadoop的配置檔案。

最後,3個檔案如下。

conf/core-site.xml:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

conf/mapred-site.xml:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

conf/hdfs-site.xml:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

完成這些配置檔案的編輯後,需要在hadoop的叢集或節點上設定分布式檔案系統。

使用下面的指令行通過namenode格式化hadoop分布式檔案系統(hadoop distributed file system,hdfs):

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

通過使用以下指令行啟動單節點群集:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

在linux、ubuntu面闆上安裝hadoop(多節點叢集)

我們已經知道如何在單節點叢集上安裝hadoop。現在看看如何在一個多節點叢集上安裝hadoop(全分布式模式)。

為此,我們需要若幹個已經配置好hadoop單節點叢集的節點。為了在多節點上安裝hadoop,我們需要一台已經配置好上一節描述過的單節點hadoop叢集的機器。

當安裝好了這個單節點hadoop叢集後,我們需要進行下述步驟:

在網絡狀态裡,需要使用兩個節點來建立一個全分布hadoop模式。為了讓節點之間互相通信,節點所在的軟體和硬體配置必須在一個網絡中。

在這兩個節點中,一個節點被設定成主節點,另一個被設定為從節點。為了進行hadoop操作,從節點需要連接配接主節點。我們将主節點設定為192.168.0.1,從節點設定為192.168.0.2。

在兩個節點中更新/etc/hosts目錄。這個目錄将會成為192.168.0.1主節點和192.168.0.2從節點的鏡像。

更新conf/*-site.xml:必須改變所有節點的如下配置檔案。

conf/core-site.xml和conf/mapred-site.xml:在單節點叢集安裝中,已經更新過這些檔案。是以,隻需在value标簽中将localhost改變為master。

conf/hdfs-site.xml:在單節點叢集安裝中,将dfs.replication的值設成1,現在更新這個值為2。

在格式化hdfs階段,需要在啟動多節點叢集前,用以下指令(在主節點)格式化hdfs:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

現在,我們已經完成安裝一個多節點叢集的所有步驟。需要進行以下步驟來啟動這個hadoop叢集:

啟動hdfs程序:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

啟動mapreduce程序:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

通常如下指令啟動所有程序:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

停止所有程序:

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

現在hadoop叢集已經在機器上建立好了。如果想要使用擴充的hadoop元件在單節點或者多節點上安裝相同的hadoop叢集,可以嘗試使用cloudera工具。

在ubuntu上安裝cloudera hadoop

cloudera hadoop(cdh)是cloudera的開源分布式架構,其緻力于應用hadoop技術進行企業級開發。cloudera也是apache軟體基金會的捐助者。cdh有兩個可用的版本:cdh3和cdh4。為了安裝其中任何一個版本,都必須使用10.04 lts版或者12.04 lts版的ubuntu(當然,也可以使用centos、debian和red hat作業系統)。如果在一個叢集上安裝hadoop,可以使用cloudera管理器簡化它的安裝過程,這個管理器提供基于hadoop的gui界面以及覆寫整個叢集的cloudera元件安裝。對于大型叢集來說這個工具十分值得推薦。

我們需要滿足如下先決條件。

具備以下特征的作業系統:

64位的10.04 lts版或者12.04 lts版ubuntu

red hat企業級linux 5或者linux 6

centos 5或6

oracle企業級linux 5

suse linux企業級伺服器11(sp1或者lasso)

debian 6.0

安裝步驟如下。

下載下傳并運作cloudera管理器:為了初始化cloudera管理器的安裝過程,需要首先從cloudera下載下傳版塊下載下傳cloudera-manager-installer.bin檔案。之後,在叢集上儲存它,這樣所有的節點可以讀取這個檔案。給使用者執行cloudera-manager-installer.bin的權限。運作下面的指令來啟動安裝:

閱讀cloudera管理器的readme檔案并點選next。

firefox 11或者更高版本

chrome

internet explorer

safari

使用預設的使用者名和密碼admin登入cloudera管理控制台。以後你可以根據自己的選擇改變它。

通過浏覽器使用cloudera管理進行cdh3的自動化安裝和配置:這一步會将所需的大部分cloudera hadoop安裝包從cloudera安裝到你的機器中。步驟如下:

1)如果你已經選擇了一個完整的軟體版本,安裝并驗證你的cloudera管理密鑰許可檔案。

2)為你的cdh叢集裝置指定主機名或ip位址範圍。

3)使用ssh連接配接每台主機。

4)在每台群集主機上安裝java開發工具包(jdk)(如果尚未安裝)、cloudera管理代理和cdh3或cdh4。

5)在每個節點上配置hadoop并啟動hadoop服務。

在運作該向導并使用cloudera管理器後,應該盡快更改預設的管理者密碼。為了更改管理者密碼,需遵循這些步驟:

1)單擊齒輪符号圖示以顯示管理頁。

2)打開password标簽。

3)輸入新密碼兩次,然後點選update。

測試cloudera hadoop的安裝:可以在群集上通過登入cloudera管理控制台并點選services标簽來檢查cloudera管理的安裝。你應該看到如下圖所示的界面。

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝

可以點選每個服務檢視更詳細的資訊。例如,點選hdfs1連結,會看到類似下面的截圖。

《R與Hadoop大資料分析實戰》一1.4 Hadoop的安裝