大數據學習環境搭建系列(一)大數據集羣平臺介紹

作者 | CDA數據分析師

掌握搭建大數據集羣的方法是學習大數據技術的人需要具備的基礎技能,因此我會通過接下來的三十餘篇文章介紹大數據平臺的搭建方法。在本文中我將向小夥伴們介紹一下搭建大數據集羣需要哪些知識以及我們接下來搭建的大數據集羣平臺架構,讓大家對平臺有個總體的認識並普及一些概念。

首先我們接觸的是虛擬機,及在虛擬機中安裝Linux操作系統

集羣搭建完成後我們總共會有四個虛擬機,其中僞分佈集羣有一臺虛擬機,虛擬機名稱爲single_node。分佈式集羣有三個虛擬機 名稱分別爲master、slave1、slave2。各個虛擬機的IP配置及安裝軟件(含軟件運行的模塊)如下表所示。

注:hostname:每個節點的主機名稱

IP:每個節點的IP地址

NN:NameNode

DN:DataNode

NM:NodeManager

RM:ResourceManager

SNN:SecondaryNameNode

/ :表示不安裝

分佈式集羣的架構如下圖所示

硬件

節點:我們後面會經常提到節點,分佈式環境中一個服務器就是一個節點,在我們搭建的集羣中服務器指的是通過VMware軟件虛擬出來的虛擬機。

操作系統:服務器上運行的操作系統基本上都是Linux操作系統,當然虛擬機中安裝的也是Linux系統。

網絡:集羣中的多個節點之間協同工作需要不斷交換數據及狀態、命令等信息,因此需要互通的網絡環境。我們的集羣是通過虛擬機軟件虛擬出來的,網絡也是由虛擬機軟件虛擬出的虛擬網卡來實現數據交換的。

軟件

集羣中的軟件主要有 hadoop、spark、hive、hbase、zookeeper這幾個。

Hadoop

雖然大數據集羣平臺根據具體業務需求不同配置組成不同,但大部分集羣都會以hadoop集羣爲基礎。例如大數據倉庫Hive及分佈式數據庫Hbase的存儲都會用到hadoop集羣的分佈式文件系統HDFS,計算部分默認使用Hadoop原生的MapReduce計算框架。分佈式計算框架spark可以使用hadoop內置的通用資源管理模塊yarn來提供統一的資源管理和調度。

hadoop大數據集羣一般說來可以有單機模式、僞分佈模式、分佈式模式這三種模式。

分佈式模式:是實際應用的一種模式,分佈式集羣由多個節點組成理論上集羣中的節點越多,集羣的性能也就越好。

單機模式:單機模式只在一個節點上運行,是一種默認的配置方式,無需進行其他配置即可運行,以單Java進程運行,方便進行調試,此時HDFS是不可用的。

僞分佈式:此模式同樣也是在單節點上運行的,與單機模式不同的是程序是以不同的Java進程來運行的,節點即作爲NameNode也作爲DataNode,此時可以使用HDFS,是常用的開發測試模式。

Spark

Apache Spark 是專爲大規模數據處理而設計的快速通用的計算引擎,是目前比較流行的分佈式計算框架。

Spark 主要有三個特點 :

  • 首先,高級 API 剝離了對集羣本身的關注,Spark 應用開發者可以專注於應用所要做的計算本身。
  • 其次由於是基於內存的計算框架等原因,Spark 很快,支持交互式計算和複雜算法。
  • 最後,Spark 是一個通用引擎,可用它來完成各種各樣的運算,包括 SQL 查詢、文本處理、機器學習等,而在 Spark 出現之前,我們一般需要學習各種各樣的引擎來分別處理這些需求。

Hive

hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張數據庫表,並提供完整的sql查詢功能,可以將sql語句轉換爲MapReduce任務進行運行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。

Zookeeper

ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。

Hbase

HBase是一個分佈式的、面向列的開源數據庫,HBase在Hadoop之上提供了類似於Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同於一般的關係數據庫,它是一個適合於非結構化數據存儲的數據庫。另一個不同的是HBase基於列的而不是基於行的模式。

Sqoop

是一款開源的工具,主要用於在Hadoop(Hive)與傳統的數據庫(mysql、postgresql…)間進行數據的傳遞,可以將一個關係型數據庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型數據庫中。

這是我們近期推出的“大數據學習環境搭建系列文章”的第一篇,接下來我們會更新並持續推出該系列的其餘文章,幫助有需求的朋友好好了解和掌握大數據學習平臺的搭建知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章