CM+CDH構建企業大數據平台


1、  CM是什么?

  Cloudera Manager的縮寫,它是Cloudera公司研發的一款可以讓企業對大數據平台的管理和維護變得更簡單更直觀的管理工具。

2、  CDH是什么?

  Cloudera’s Distribution including Apache Hadoop (CDH),官網:https://www.cloudera.com/

  優點:

  • 基於Apache協議,100%開源
  • 基於穩定版本Apache Hadoop,並修復了大量的Bug,比Apache Hadoop 的兼容性、安全性、穩定性更強。
  • 充分考慮了各個大數據組件之間的版本兼容性,版本管理更清晰(比如CDH5)
  • 版本更新快,通常每2-3個月都會有一次更新
  • 集群管理維護更簡單方便,提供了部署、安裝、配置、監控、診斷等工具(CM),大大提高了集群部署及維護的效率

3、  CM和CDH是什么關系?

  通過CM統一的圖形化界面快速自動的安裝部署CDH相關的服務組件。

4、 什么叫企業大數據平台?

 通過對企業大規模數據的管理、分析、挖掘、監控、可視化,為公司內部產品的策划、運營、營銷、財務、決策等提供數據支撐的一個平台服務。

5、怎么構建企業大數據平台?

 首先要解決兩個問題:1、大規模數據該如何存儲(HDFS) 2、大規模數據的計算(Mapreduce)

 大規模數據該如何存儲?

    (1)增加本機的磁盤空間。

       但是不可能一直增加,本機存儲空間總會有一個極限。加到一定程度就會超過限制。

  (2)增加機器數量,用共享目錄的方式提供遠程網絡化的存儲。

                   這種方式就可以理解為分布式文件系統的雛形,就是把同一文件切分之后放入不同的機器中,空間不足了還可繼續增加機器,突破本機存儲空間的限制。Hadoop目前最多可以支持到上萬台機器規模組成的集群,總之,足夠你用了。這個不用擔心。但是這種方式還是有很多問題的。比如:數據怎么切分,數據切分之后如何存儲,又怎么高效的管理存儲在多台機器上的數據等等復雜問題,肯定不能靠人工去維護吧,那就有點傻了。那么怎么辦呢?就要通過系統來解決,即通過分布式文件系統來管理存儲在多台機器上的大規模數據。也就是后面會提到的HDFS(Hadoop分布式文件系統)。

      我們不是為了存儲數據而存儲數據,我們最終的目的是想通過對大規模數據的多維分析挖掘出數據背后對企業運營決策有價值的信息。

 大規模數據的計算?

    大規模數據存儲通過分布式存儲解決存儲容量局限的問題大規模數據計算重點考慮的是計算速度的問題。就是怎么能夠加快大規模數據的處理速度。一台機器資源有限,計算大規模數據可能時間很長,那么怎么加快處理速度呢?整多台,一台不夠多台來湊,每個任務處理一部分數據,多台機器的多個任務分別處理一部分數據,這樣速度肯定會比之前快。

    總之,不管是大數據的存儲還是計算,都是通過分布式系統來解決的,不再通過比較昂貴的小型機,因為小型機成本太高。那么分布式系統在哪運行呢,就需要構建分布式集群。所以說我們接下來的重點就是如何構建分布式集群。

6、 什么叫構建Hadoop分布式集群?

  構建Hadoop分布式集群實際上就是在一組通過網絡連接的物理計算機組成的集群上部署Hadoop相關的軟件。因此主要任務就是:

    1、  准備物理集群

 

      2、  實現物理集群的網絡互聯,就是通過網絡把集群內所有機器連接起來

 

                3、  在實現網絡互聯的集群上安裝部署大數據相關的軟件

 

7、 哪些因素會影響集群規模?

  • 數據量(要考慮用多少台機器組成的集群能夠存儲這么大的數據)

      1)規划時間內的數據而不是現有數據

            注意:這個數據量是公司一定規划時間內(比如兩年)的數據量,不是現有的數據量,因為你不可能隨着數據量的增加每月或每周都往集群里增加節點,這樣每天絕大部分時間就都花在集群維護上了,雖然說我們的確可以隨着數據量的動態變化通過動態的增減節點的個數來調整集群的存儲和計算能力,但是最好還是要有一個1-2年左右的中長期規划。

         2)多副本

             因為Hadoop致力於構建在廉價的商用服務器上的,廉價的就更容易出現故障,出現故障就容易導致數據丟失,數據丟失是絕對不允許的。所以說怎么保證數據安全性呢?一份不夠,存多份就得了唄,難道你們還能同時丟到,雖然說有可能,但是可能性是不是就小很多了。當然你也不可能買特別垃圾的服務器。我們需要在采購成本和維護成本之間做好權衡。

          3)中間數據、臨時數據和日志數據需要占用20-30%左右的空間。

                             這個應該很好理解,因為數據不只是需要分析處理的業務數據。

  

  • 機器的配置  

    假設有100T的數據,每台機器2T硬盤,至少需要50台,每台機器4T硬盤,至少需要25台,所以說機器性能配置的不同也會影響集群規模的大小。后邊我們會單獨講機器選型及配置選擇。

  • 平台的功能性和非功能性需求(非功能性需求:1、性能需求 2、可靠性需求 3、可用性需求 4、容錯性需求)
  1.  性能需求:比如對100G—1T左右的數據進行簡單的查詢分析,能夠在2分-10分鍾之內完成,復雜作業(比如多表連接)能夠在20-1小時內完成,業務數據的增量導入和數據清洗在1小時之內完成。
  2. 可靠性需求:比如系統每月宕機次數不能超過1次。
  3. 可用性需求:系統每次宕機的時間不能超過兩小時,還有就是系統內任何一台計算機每月不可用的時間不能超過總時間的2%。
  4. 容錯性需求:機器宕機、服務停止硬件損壞的情況下數據不會出現丟失,不同情況下的恢復時間也有要求,比如宕機或服務器停止,恢復時間10分鍾之內,如果NameNode硬件損壞,2小時之內恢復

 

 

機器選型

(1)   小型機:百萬級別以上,成本太高,違背了Hadoop的初衷,hadoop就是要運行在廉價的機器之上。所以不推薦。

(2)   PCserver: 高配置的PC服務器,幾萬、十幾萬、幾十萬不等,性價比最高,也是企業部署大數據平台的首選。

(3)   雲主機(阿里雲、騰訊雲):比如阿里雲、百度雲、騰訊雲等雲服務平台,成本適中,比如最低配置搭建3節點集群使用5個月,需要2000~6000元左右。但是依賴於第三方平台,不能對系統做更多的控制,所以比較適合初創型企業,因為初創型企業剛開始資金不足,數據量也不大。

(4)  普通PC:利用公司現有的多台普通電腦部署分布式集群,成本比較低,內存不足可以通過增加內存條的方式解決,費用在1000元以下。但是最大的不足是穩定性不好,所以可用於實驗環境。

(5)  Linux虛擬機:直接在自己的一台電腦上安裝多台Linux虛擬機的方式來模擬分布式集群,成本最低,內存不足可以通過增加內存條的方式解決,費用在幾百元左右。從成本和學習的角度來講,是第一選擇。

機器配置 

  1. 內存(大):(企業)在成本允許的情況下一般選擇大內存,比如32GB、64GB、128GB,具體看業務而定,哪個服務對內存要求高,就可以配置的大一點(比如存文件系統元數據的NameNode對內存要求就比較高),從節點DataNode內存就沒必要那么大,它更需要的是磁盤和CPU。所以這個需要大家根據每個組件的特點,有針對性的去選擇配置。(學習) 建議計算機的內存至少為8GB,最好為16GB及以上。主節點內存至少4GB,從節點內存至少2GB。
  2. CPU:(企業)一般選擇多路多核的CPU,比如2 路8核,2路10核,2路12核的CPU,主頻至少2-2.5GHz。(學習)由於我們會先使用少量數據進行測試,暫時對CPU要求不高,目前電腦CPU核數都在2核或者4核以上,可以夠學習使用。
  3. 磁盤:(企業)一般選擇大硬盤,因為我們要存儲的是大規模的數據,比如可以配置1-20塊1-6TB的硬盤。(學習)每個節點磁盤分配至少20G
  4. 網絡:(企業)一般都是選擇萬兆網 ,因為數據量越大,對網絡吞吐率的要求就越高。(學習)目前先保證能聯網且網絡穩定就行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM