天天看點

使用Ambari搭建Hadoop叢集

Hadoop是一個開發和運作處理大規模資料的軟體平台,是Apache的一個用java語言實作開源軟體架構,實作在大量計算機組成的叢集中對海量資料進行分布式計算。Hadoop架構中最核心設計就是:MapReduce和HDFS。MapReduce提供了對資料的分布式計算,HDFS提供了海量資料的分布式存儲。

在Hadoop家族中,收入了20多個用于計算、分析、存儲、監控、管理等元件和工具,這些家族成員極大的豐富了Hadoop的各方面的功能。

下面簡單的列舉幾個常見的元件:

Apache Hadoop: 是Apache開源組織的一個分布式計算開源架構,提供了一個分布式檔案系統子項目(HDFS)和支援MapReduce分布式計算的軟體架構。

Apache Hive: 是基于Hadoop的一個資料倉庫工具,可以将結構化的資料檔案映射為一張資料庫表,通過類SQL語句快速實作簡單的MapReduce統計,不必開發專門的MapReduce應用,十分适合資料倉庫的統計分析。

Apache Pig: 是一個基于Hadoop的大規模資料分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的資料分析請求轉換為一系列經過優化處理的MapReduce運算。

Apache HBase: 是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲叢集。

Apache Sqoop: 是一個用來将Hadoop和關系型資料庫中的資料互相轉移的工具,可以将一個關系型資料庫(MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中,也可以将HDFS的資料導進到關系型資料庫中。

Apache Zookeeper: 是一個為分布式應用所設計的分布的、開源的協調服務,它主要是用來解決分布式應用中經常遇到的一些資料管理問題,簡化分布式應用協調及其管理的難度,提供高性能的分布式服務

Apache Mahout:是基于Hadoop的機器學習和資料挖掘的一個分布式架構。Mahout用MapReduce實作了部分資料挖掘算法,解決了并行挖掘的問題。

Apache Cassandra:是一套開源分布式NoSQL資料庫系統。它最初由Facebook開發,用于儲存簡單格式資料,集Google BigTable的資料模型與Amazon Dynamo的完全分布式的架構于一身

Apache Avro: 是一個資料序列化系統,設計用于支援資料密集型,大批量資料交換的應用。Avro是新的資料序列化格式與傳輸工具,将逐漸取代Hadoop原有的IPC機制

Apache Ambari: 是一種基于Web的工具,支援Hadoop叢集的供應、管理和監控。

Apache Chukwa: 是一個開源的用于監控大型分布式系統的資料收集系統,它可以将各種各樣類型的資料收內建适合 Hadoop 處理的檔案儲存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。

Apache Hama: 是一個基于HDFS的BSP(Bulk Synchronous Parallel)并行計算架構, Hama可用于包括圖、矩陣和網絡算法在内的大規模、大資料計算。

Apache Flume: 是一個分布的、可靠的、高可用的海量日志聚合的系統,可用于日志資料收集,日志資料處理,日志資料傳輸。

Apache Giraph: 是一個可伸縮的分布式疊代圖處理系統, 基于Hadoop平台,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。

Apache Oozie: 是一個工作流引擎伺服器, 用于管理和協調運作在Hadoop平台上(HDFS、Pig和MapReduce)的任務。

Apache Crunch: 是基于Google的FlumeJava庫編寫的Java庫,用于建立MapReduce程式。與Hive,Pig類似,Crunch提供了用于實作如連接配接資料、執行聚合和排序記錄等常見任務的模式庫

Apache Whirr: 是一套運作于雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支援Amazon EC2和Rackspace的服務。

Apache Bigtop: 是一個對Hadoop及其周邊生态進行打包,分發和測試的工具。

Apache HCatalog: 是基于Hadoop的資料表和存儲管理,實作中央的中繼資料和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關系視圖。

Cloudera Hue: 是一個基于WEB的監控和管理系統,實作對HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。

Ambari 跟 Hadoop 等開源軟體一樣,也是 Apache Software Foundation 中的一個項目,并且是頂級項目。目前最新的釋出版本是 2.6.0。Ambari 是用來建立、管理、監視 Hadoop 的叢集,但是這裡的 Hadoop 是廣義,指的是 Hadoop 整個生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不僅是特指 Hadoop。用一句話來說,Ambari 就是為了讓 Hadoop 以及相關的大資料軟體更容易使用的一個工具。

Ambari提供了對Hadoop更加友善快捷的管理功能,主要包含:

通過一步一步的安裝向導簡化了叢集供應。

預先配置好關鍵的運維名額(metrics),可以直接檢視Hadoop Core(HDFS和MapReduce)及相關項目(如HBase、Hive和HCatalog)是否健康。

支援作業與任務執行的可視化與分析,能夠更好地檢視依賴和性能。

通過一個完整的RESTful API把監控資訊暴露出來,內建了現有的運維工具。

使用者界面非常直覺,使用者可以輕松有效地檢視資訊并控制叢集。

在使用Ambari安裝部署Hadoop時,需要對下載下傳鏡像源,配置本地環境。

主機: 

node-1 : 192.168.10.11 , 配置:2C8G-30G ,yum 鏡像源,資料庫, java環境

node-2 : 192.168.10.12, 配置:2C8G-30G ,java環境

node-2 : 192.168.10.12, 配置:2C8G-30G , java環境

軟體包 Hadoop 軟體鏡像壓縮包,Ambari鏡像壓縮包,版本2.6

1、在node-1上配置hadoop所有元件的yum源。安裝httpd:

2、在官方下載下傳鏡像檔案,此檔案大概7G,可以使用p2p工具下載下傳,其中包含兩個repo檔案和4個壓縮包:

3、将對應的tar包解壓到httpd的檔案目錄:

4、配置基礎源,建立hadoop的repo檔案,修改repo檔案源路徑:

啟動httpd。

5、将本地源的repo配置拷貝到其它節點,并建立緩存:

在各個節點建立緩存:

1、各個節點安裝java-1.8.0-openjdk:

2、解析主機名:

3、建立主機信任關系,主要是master節點到slave節點:

4、安裝配置資料庫:

1、在node-1上安裝ambari-server,并啟動配置向導:

提示: 如果安裝配置使用者時,出現如下報錯: ERROR: Unexpected error 'getpwuid(): uid not found: 1001',可以檢視ambari.repo檔案的權限,修改為預設的root 644權限即可。

2、按照配置向導資訊,配置使用者,java_home:

3、到上面一步時,根據提示上傳mysql的 jdbc驅動,并修改配置檔案,指定jdbc驅動檔案位置:

修改配置檔案:

配置完成後繼續,會出現如下提示:

4、出現上述提示時,根據資訊導入資料庫:

5、啟動服務:

6、服務啟動成功後,會監聽8080端口,使用浏覽器登入,賬号密碼admin/admin正常登入,則安裝完成。

使用Ambari搭建Hadoop叢集

使用ambari的web界面課完成對叢集的所有管理操作,建立一個執行個體叢集。

使用Ambari搭建Hadoop叢集

選擇本地源,移除不必要的版本:

使用Ambari搭建Hadoop叢集

添加主機節點,上傳id_rsa檔案:

使用Ambari搭建Hadoop叢集

安裝成功後,會顯示如下界面:

使用Ambari搭建Hadoop叢集

選擇需要安裝的服務:

使用Ambari搭建Hadoop叢集

根據需要選擇服務配置:

使用Ambari搭建Hadoop叢集

在後續的配置中,會提示配置賬戶密碼,資料庫等資訊,根據提示配置即可。

使用Ambari搭建Hadoop叢集

參考文檔:

<a href="https://baike.baidu.com/item/Ambari">https://baike.baidu.com/item/Ambari</a>

<a href="https://baike.baidu.com/item/Hadoop/3526507?fr=aladdin">https://baike.baidu.com/item/Hadoop/3526507?fr=aladdin</a>

<a href="http://blog.fens.me/hadoop-family-roadmap/">http://blog.fens.me/hadoop-family-roadmap/</a>

 本文轉自 酥心糖 51CTO部落格,原文連結:http://blog.51cto.com/tryingstuff/2066561