01搭建cdh 前硬件資源的選型

01搭建cdh 前硬件資源的選型
這裏就要針對hadoop生態圈 去選擇什麼樣的硬件 cpu 硬盤廠家等

其實,hadoop生態圈一開始的主旨是用廉價的服務器去分佈式的存儲 處理數據。
但是在目前基本上硬件上的資源對於企業來說,不是多大的問題,所以在硬件上很大程度程度上提高了集羣的性能。
各個企業對於服務器的採購也是各不相同,本人對硬件服務器上的知識懂的少,公司有懂這塊的小夥伴,在搭建hadoop生態圈組件的時候,對於硬件的選擇,這裏做一個記錄:

節點物理配置信息表如下

節點類型 CPU 內存(G) OS盤大小(G) 數據分區磁盤 網絡 最小數據分區盤容量
管理節點 20cores, 2*Intel E5-2650v3 128 2*600 / 2*1Gbps /
存儲分析節點 20cores, 2Intel E5-2650v3 128 2*600 10 * 7200轉 2TB SATA 2*1Gbps 2000
管理節點 20cores, 2*Intel E5-2650v3 128 2*600 6 * 10000轉 600GB SAS 2*1Gbps 600

cpu:
節點上CPU的物理核心數
推薦:雙路6核以上Intel處理器, 2 * E5-2620v3 以上
命令:cat /proc/cpuinfo
(PS:cpuinfo顯示包括超線程虛擬核vcore,vcore總數量一般是物理核2倍)
ref: ark.intel.com

內存(G):
節點上的物理內存推薦:128G,至少64G
命令:free

OS盤大小(G):
節點上操作系統所在盤的空間大小,或者操作系統分區大小
推薦:300G以上
命令:df -h

數據分區磁盤:
除OS盤外,節點上數據磁盤的數量
推薦:服務器所有插槽插滿,根據實際數據量規劃磁盤容量,所有數據分區磁盤大小相同(HDFS是隨機寫入磁盤,小容量的磁盤會先被寫滿)
命令:fdisk(2TB以下磁盤分區),parted(2TB以上磁盤分區),mkfs.ext4(格式化)
檢查:/etc/fstab是否所有分區都mount

最小數據盤容量(G):
除OS分區外,節點裏數據分區磁盤空間最小的磁盤的容量

一般來說,在線上環境 會給/opt /var/log /data 等單獨的盤給200G以上的空間,根據各個需求不同,而定。

磁盤陣列:

Raid0
RAID 0 是最早出現的RAID 模式,即Data Stripping 數據分條技術。RAID 0 是組建磁盤陣列中最簡單的一種形式,只需要2 塊以上的硬盤即可,成本低,可以提高整個磁盤的性能和吞吐量。RAID 0 沒有提供冗餘或錯誤修復能力,但實現成本是最低的。
RAID 1:稱爲磁盤鏡像,原理是把一個磁盤的數據鏡像到另一個磁盤上,也就是說數據在寫入一塊磁盤的同時,會在另一塊閒置的磁盤上生成鏡像文件,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行,當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩餘的鏡像盤讀寫數據,具備很好的磁盤冗餘能力。(數據不安全,磁盤掛了,就掛了)
RAID 0+1:名稱上我們便可以看出是RAID0 與RAID1 的結合體。在我們單獨使用RAID 1也會出現類似單獨使用RAID 0 那樣的問題,即在同一時間內只能向一塊磁盤寫入數據,不能充分利用所有的資源。爲了解決這一問題,我們可以在磁盤鏡像中建立帶區集。因爲這種配置方式綜合了帶區集和鏡像的優勢,所以被稱爲RAID 0+1。把RAID0 和RAID1 技術結合起來,數據除分佈在多個盤上外,每個盤都有其物理鏡像盤,提供全冗餘能力,允許一
個以下磁盤故障,而不影響數據可用性,並具有快速讀/寫能力。RAID0+1 要在磁盤鏡像中建立帶區集至少4 個硬盤。
RAID5:分佈式奇偶校驗的獨立磁盤結構。因爲奇偶校驗碼在不同的磁盤上,所以提高了可靠性。但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。(數據更安全)
【正常的服務器磁盤做raid 操作,數據可靠性是做raid5 、raid1 相對而言簡單操作,但數據不安全,提高了系統的可靠性】

但是:在hadoop生態圈中磁盤的陣列選型爲:
不使用RAID
  應避免在TaskTracker和DataNode所在的節點上進行RAID。RAID爲保證數據可靠性,根據類型的不同會做一些額外的操作,HDFS有自己的備份機制,無需使用RAID來保證數據的高可用性。

不使用LVM
  LVM是建立在磁盤和分區之上的邏輯層,將Linux文件系統建立在LVM之上,可實現靈活的磁盤分區管理能力。DataNode上的數據主要用於批量的讀寫,不需要這種特性,建議將每個磁盤單獨分區,分別掛載到不同的存儲目錄下,從而使得數據跨磁盤分佈,不同數據塊的讀操作可並行執行,有助於提升讀性能。

JBOD
  JBOD是在一個底板上安裝的帶有多個磁盤驅動器的存儲設備,JBOD沒有使用前端邏輯來管理磁盤數據,每個磁盤可實現獨立並行的尋址。將DataNode部署在配置JBOD設備的服務器上可提高DataNode性能。

參考鏈接爲:
https://www.cnblogs.com/yinzhengjie/p/10006880.html

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