自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從Facebook看大數(shù)據(jù)存儲怎么選

企業(yè)動態(tài)

 做技術(shù)的朋友可能有過類似這樣的感覺——每天都會遇到新的問題,或者學(xué)到新的知識。然而一個人的時間和精力畢竟有限,不是所有的崗位都能做到總是親力親為,每人最擅長的領(lǐng)域也各不相同。為了使工程師自己踩過的坑、那些實(shí)用的心得體會也能給大家?guī)韼椭呀?jīng)驗(yàn)記錄和分享出來就顯得尤為可貴,這就是我們開設(shè)《工程師筆記》專欄的目的。

 

最近有位朋友向我咨詢技術(shù)問題,他們的客戶提出一個大數(shù)據(jù)系統(tǒng)的服務(wù)器硬件需求,其中元數(shù)據(jù)有xxTB左右。并給出了以下初步建議:

節(jié)點(diǎn)類型1(元數(shù)據(jù)節(jié)點(diǎn))

Xeon E5 14核CPU x2

256GB DDR4內(nèi)存

600GB SAS 15K硬盤x5

RAID卡

節(jié)點(diǎn)類型2(數(shù)據(jù)節(jié)點(diǎn))

Xeon E5 14核CPU x2

128GB DDR4內(nèi)存

4TB 7.2K近線硬盤x4

RAID卡

 

軟件并非我擅長的方面,不過大數(shù)據(jù)概念炒了好幾年,從各方面還是多少了解到一些Hadoop/HDFS硬件架構(gòu)方面的東西。在與朋友討論的過程中,我覺得相關(guān)技術(shù)還需要補(bǔ)補(bǔ),以跟上“應(yīng)用定義硬件”的形勢,于是就把之前收集到的一些資料翻看了下。

 

在分享我的學(xué)習(xí)心得之前,先列出以上案例中的幾個疑問,同時附上專家意見。

 

1.  Hadoop是否需要RAID?

根據(jù)我的了解,HDFS(Hadoop分布式文件系統(tǒng))的數(shù)據(jù)盤應(yīng)該是不做RAID,靠跨節(jié)點(diǎn)的3副本來實(shí)現(xiàn)冗余高可用。那么是否還需要配SAS RAID卡?如果是RAID卡需要改成直通(HBA)模式嗎?

專家觀點(diǎn)

據(jù)了解開源版本的HDFS multiple master應(yīng)該還未ready,所以現(xiàn)在HDFS master是master-slave或者單點(diǎn)部署或者共享存儲。如果不是共享,那么master機(jī)器本身***不要down掉,RAID卡不僅提升性能,也能一定程度上避免單盤壞帶來的問題。網(wǎng)上有人說Master的內(nèi)存要盡可能大,要有更強(qiáng)的ECC功能,可以參考下。

 

2. 是否應(yīng)該添加額外的系統(tǒng)硬盤?元數(shù)據(jù)節(jié)點(diǎn)的SAS盤如果換成SSD效果更好?

按照傳統(tǒng)的觀點(diǎn),在有條件的情況下服務(wù)器的系統(tǒng)盤和數(shù)據(jù)盤建議分開,無論從容量規(guī)劃還是性能角度考慮,特別是存儲密集型應(yīng)用。此外,用戶提出15K高轉(zhuǎn)速硬盤應(yīng)該是有IOPS需求,而SSD在這方面優(yōu)勢明顯。

專家觀點(diǎn)

如果需要高性能,SSD更好,價格也會持續(xù)下降,master采購SSD的話也浪費(fèi)不了多少,一旦掛了,讀image恢復(fù)也快。單個磁盤容量應(yīng)該大于內(nèi)存,比如2倍,這樣內(nèi)存數(shù)據(jù)image才能落在磁盤上,甚至保留最近的幾個備份。

 

3. 這個建議中數(shù)據(jù)節(jié)點(diǎn)只配了4塊硬盤,能否滿足容量的需求?

4塊4TB硬盤裸容量按照16TB來計(jì)算不少了,但是HDFS默認(rèn)是3副本,也就是3個節(jié)點(diǎn)的有效容量只相當(dāng)于單節(jié)點(diǎn)物理容量。而且處理過程中的數(shù)據(jù)集應(yīng)該會大于導(dǎo)入的元數(shù)據(jù)量,那么整個集群需要增加節(jié)點(diǎn)還是每節(jié)點(diǎn)的硬盤數(shù)?

專家觀點(diǎn)

只有4塊浪費(fèi)了點(diǎn),機(jī)器機(jī)架的公攤變多了,如果價格差別不大,10塊+更好,哪怕現(xiàn)在不插盤。不過這取決于應(yīng)用想干什么,以及當(dāng)前的業(yè)務(wù)規(guī)模。一般來說,數(shù)據(jù)量是X,那么容量需要是X*配置的replica/容量比。配置的replica一般是3,容量比80%,如果有大量的中間結(jié)果,容量比會比較低,比如60%。

 

4. CPU/內(nèi)存/硬盤配比有計(jì)算公式嗎?

由于這位朋友認(rèn)識的一位大數(shù)據(jù)專家出差了,我被臨時找來抱佛腳:)聽?wèi)?yīng)用高手說,可以根據(jù)自己的情況來計(jì)算出需要的硬件配置。對于我們而言,這方面有沒有給用戶的建議呢?

專家觀點(diǎn)

跟業(yè)務(wù)類型緊密相關(guān),比如跑人工智能類的迭代,那么CPU就要多,甚至配置GPU。如果是一般的數(shù)據(jù)處理,比如網(wǎng)站分析點(diǎn)擊日志,512GB空間,1個CPU,4-8GB內(nèi)存一般也差不多了。

 

這兩年,伴隨著OpenStack、Docker被人們追捧,云計(jì)算的話題依舊保持著一定熱度,或者說正在落地。而大數(shù)據(jù)泡沫在幾年前感覺有些被吹大了,以至于在Hadoop科普時我關(guān)注過一些,后來除了開源項(xiàng)目的發(fā)展之外,廠商們的推廣力度也沒有開始時那么大了,進(jìn)入務(wù)實(shí)階段。

 下面引用一個當(dāng)年給我印象比較深的表格,來自Facebook關(guān)于非結(jié)構(gòu)化數(shù)據(jù)存儲硬件選型的分享資料。

 

我們知道Facebook每天都有海量上傳的照片和視頻,上表中Type V硬件類型對應(yīng)的就是這個,其特點(diǎn)為低CPU、內(nèi)存開銷,主要是溫?cái)?shù)據(jù)和冷數(shù)據(jù)。

 而本文關(guān)注的Type IV針對Hadoop應(yīng)用,硬盤仍然按照12塊3TB大容量來配置,CPU和內(nèi)存的需求都是“中等”,從具體的Xeon X5650 CPU來看這份資料也比較早了。

 

 

上圖引用自《Dell  Cloudera Apache Hadoop Solution Reference Architecture》文檔,Cloudera是一家排名領(lǐng)先的Hadoop發(fā)行版廠商,我們借此來了解下今天Apache Hadoop方案中流行的組件。

底層有服務(wù)器和網(wǎng)絡(luò)硬件、操作系統(tǒng)、Java虛擬機(jī)(中間件);往上包括了資源管理(YARN)、HDFS文件系統(tǒng)、HBase(開源的NoSQL分布式數(shù)據(jù)庫);MapReduce數(shù)據(jù)處理框架和Hive數(shù)據(jù)倉庫在幾年前就已經(jīng)講的比較多,而Spark In Memory Processing等這兩年也比較火。

 既然最終目的是討論硬件配置,先看看不同的節(jié)點(diǎn)類型及其主要職能。

 

Admin Node即管理員節(jié)點(diǎn),這里不過多討論;Edge Node(邊緣節(jié)點(diǎn))被稱為Hadoop Clients,主要作用是集群數(shù)據(jù)與外界之間的導(dǎo)入導(dǎo)出;在數(shù)據(jù)節(jié)點(diǎn)和命名(Name)/HA節(jié)點(diǎn)之中,藍(lán)色部分屬于管理模塊,綠色則是存儲模塊,二者各有一套網(wǎng)絡(luò)連接到Edge Node。數(shù)據(jù)節(jié)點(diǎn)之間完全對等,下面介紹一下元數(shù)據(jù)服務(wù)的高可用實(shí)現(xiàn)。

 記得Hadoop在早期的1.0版本時,Name Node還曾經(jīng)有過單點(diǎn)故障問題,下面這段描述只代表部分商業(yè)版本的解決方案。

 首先不難理解,Active Name Node和Standby Name Node之間是主備關(guān)系,而第三個HA節(jié)點(diǎn)上也有Cloudera Manager和Zookeeper,其作用就是Name Node自動切換的仲裁。HA節(jié)點(diǎn)上不運(yùn)行Name Node服務(wù),但元數(shù)據(jù)的Journal會由主節(jié)點(diǎn)同時向3個節(jié)點(diǎn)寫入,多數(shù)返回才算成功。

 這個Journal,讓我想起了Oracle Data Guard中同步復(fù)制的Redo log。

專家觀點(diǎn)

Name Node HA這一塊現(xiàn)在并無統(tǒng)一的方案,我看到Hadoop網(wǎng)站上是建議使用NAS類的共享存儲,在不能基于類似paxos提供高可用情況下,我覺得共享存儲是個不錯的選擇,因?yàn)橐恢滦阅艿玫奖WC,主備就怕一致性問題。(參考鏈接:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html)

 

上面是Hadoop節(jié)點(diǎn)間的網(wǎng)絡(luò)連接。目前主流的數(shù)據(jù)網(wǎng)絡(luò)是雙萬兆,iDRAC/管理網(wǎng)絡(luò)可以用千兆,作為與外界數(shù)據(jù)溝通的Edge Node還應(yīng)有2個萬兆連接至用戶的企業(yè)網(wǎng)絡(luò)。這個示例為角色完整的最小節(jié)點(diǎn)數(shù)集群,而實(shí)際上還有進(jìn)一步精簡的配置方式。

專家觀點(diǎn)
 
萬兆是趨勢,不過也看業(yè)務(wù),千兆目前在Hadoop數(shù)據(jù)網(wǎng)絡(luò)中也挺流行的。
 

所謂“QuickStart”應(yīng)該就是最小起步規(guī)模。上圖中2個R730xd Infrastructure Node估計(jì)包含了元數(shù)據(jù)和Edge節(jié)點(diǎn)的功能,這里減掉了第3個HA節(jié)點(diǎn)是不是意味著故障切換的機(jī)制有變化?

專家補(bǔ)充

Master Namenode HA并無標(biāo)準(zhǔn),開源以及一些基于開源的商業(yè)公司都想做自己的。

 

本文開頭提到過每個數(shù)據(jù)節(jié)點(diǎn)的硬盤數(shù)。除了容量之外,這還會影響到存儲性能,上面的圖表顯示了執(zhí)行時間與硬盤數(shù)之間的對應(yīng)關(guān)系。

 從這個來看,8塊硬盤相比4塊速度提升了一倍,同時容量翻番。盡管12塊盤的性能更好,但在今天硬盤容量不斷增長(傳輸率也有些提升)的情況下,有些場景數(shù)據(jù)節(jié)點(diǎn)用8塊盤應(yīng)該也是一種不錯的選擇,特別是對性能和容量不太敏感的應(yīng)用。

 

關(guān)于合理的硬件資源配比,我從一份資料里引用整理出上面的圖表供參考。其中有3種不同應(yīng)用側(cè)重的Hadoop計(jì)算(存儲)節(jié)點(diǎn),我們先按照一般規(guī)律假設(shè)磁盤主軸數(shù)為12。對于數(shù)據(jù)密集型和存檔型應(yīng)用其CPU核心配置12個(2顆6核入門級)即可;計(jì)算密集型應(yīng)用可以配置24核——2顆12核。內(nèi)存容量方面,對于存檔節(jié)點(diǎn)24GB即夠用,數(shù)據(jù)密集型可以配置48GB,而計(jì)算密集型在這里的建議是96GB。

當(dāng)然,上表也有一定的時間局限性,比如磁盤是按照主軸而不是容量來統(tǒng)計(jì)。這樣從存儲性能角度看比較合理,但硬盤容量畢竟在慢慢提高,比如3、4年前的主流3TB今天上升到4TB或者更大;與此同時內(nèi)存價格在不斷下降,CPU集成核心數(shù)越來越多,為了更好地適應(yīng)更大的數(shù)據(jù)集規(guī)模,主流應(yīng)用的配比也應(yīng)該隨著時間發(fā)展而適當(dāng)調(diào)整。

下面我們來看一些更具體的建議。

 

 

該表格引用自《Dell Reference Configuration for Hortonworks Data Platform 2.4》,列出了Name Node和HA見證節(jié)點(diǎn)的磁盤配置建議。Hortonworks是另外一個主要的Hadoop發(fā)行版。

可見OS、HDFS元數(shù)據(jù)和數(shù)據(jù)庫有可靠性和可用性的要求;Zookeeper和NameNode Journal應(yīng)該只有在故障時才會用到,并且在多個節(jié)點(diǎn)上有副本,所以不用RAID保護(hù)。對于日志這類順序?qū)懭胴?fù)載,SSD可以提供更高的吞吐量。

 

上面是具體的Name Node和HA見證節(jié)點(diǎn)配置。在這個PowerEdge R730xd服務(wù)器平臺上,CPU為2顆Xeon E5-2650 v4 12核、128GB內(nèi)存,網(wǎng)絡(luò)子卡(Daughter Card)選擇雙萬兆+雙千兆;硬盤方面,2塊600GB SAS盤RAID 1用于OS(安裝在服務(wù)器后端的Flexbay中),另外8塊1TB數(shù)據(jù)盤的用途參見上面。

 

[[174270]]

作為一款12Gb SAS RAID卡,PERC 9 H730支持設(shè)置為HBA直通模式。上圖為Dell服務(wù)器標(biāo)配H730 mini RAID子卡,通過專用連接器插在主板上,不占用標(biāo)準(zhǔn)PCIe擴(kuò)展槽。這種子卡的成本比標(biāo)準(zhǔn)尺寸的RAID卡要低(網(wǎng)絡(luò)子卡的情況類似),即使當(dāng)做SAS HBA來使用也不會造成多少浪費(fèi)。

 對比本文開頭用戶提出的元數(shù)據(jù)節(jié)點(diǎn)配置,內(nèi)存容量比這個還大,而硬盤上沒有寫這么細(xì)致,總的來說還算合理吧。畢竟配置建議與實(shí)際應(yīng)用情況相關(guān),可以跟用戶做進(jìn)一步的溝通。

 

[[174271]]

上圖是我?guī)啄昵霸赑owerEdge 12G發(fā)布活動上,拍攝的R720xd后側(cè)Flexbay——2個2.5英寸熱插拔盤位。

 

通用數(shù)據(jù)節(jié)點(diǎn)的CPU和內(nèi)存與前面的Name Node等相同,算是主流配置吧。HDFS數(shù)據(jù)存儲方面,配置了12塊4TB 7.2K NL-SAS硬盤(企業(yè)級近線SATA用在服務(wù)器上差不多),非RAID或者RAID 0模式。

 由于數(shù)據(jù)節(jié)點(diǎn)的多副本容錯模式,對單機(jī)可用性要求大為降低,因此多數(shù)情況下操作系統(tǒng)盤的RAID 1也可以不用。上表中應(yīng)該屬于一種比較豪華的配置方式。

 

高性能節(jié)點(diǎn)建議配置2顆Xeon E5-2690 14核CPU、512GB內(nèi)存,除了板載網(wǎng)絡(luò)子卡之外,額外增加一塊Intel雙端口萬兆配置LACP聚合以提高帶寬。

磁盤配置也相應(yīng)的比較豪華。服務(wù)器平臺調(diào)整為24個2.5英寸盤位的R730xd,包括20x 1.2TB SAS + 3x 800GB SSD的HDFS分層存儲;另有一塊800GB Intel S3710應(yīng)該是用于Spark數(shù)據(jù)持久化——這就可以理解為什么內(nèi)存要配這么大,因?yàn)樗褪轻槍?ldquo;內(nèi)存計(jì)算”的。

 

***是高容量節(jié)點(diǎn),它的配置在通用數(shù)據(jù)節(jié)點(diǎn)基礎(chǔ)上做了增強(qiáng)——采用一款特定版本的R730xd機(jī)箱(12+2+4,帶有Flexbay和Mid-bay)。如下圖,在2U機(jī)箱的中部增加了4個3.5英寸硬盤位,因此4TB HDFS數(shù)據(jù)盤的數(shù)量增加到16塊。

 

這4塊盤也能夠支持熱插拔,不過需要先打開服務(wù)器上蓋。Dell這種設(shè)計(jì)屬于在標(biāo)準(zhǔn)服務(wù)器基礎(chǔ)上的改良,其他品牌可能也有自己提高存儲密度的方式。

 

架構(gòu)驗(yàn)證——云帶來真正的便利

有個方法是可以檢驗(yàn)一下選型的,就是在云服務(wù)廠商那里先按照自己的配置租一些服務(wù)器,根據(jù)業(yè)務(wù)調(diào)整云服務(wù)器的配置,這個很方便(硬件買了就很難調(diào)整了),最終也能得出比較合理的配置。

 本文到此先告一段落,開頭提出的幾個問題應(yīng)該都有答案了。筆者不是大數(shù)據(jù)方面的專家,希望這些學(xué)習(xí)心得加上專家觀點(diǎn)對大家有所幫助。如有錯誤和不足歡迎批評指正,歡迎您在下面留言交流!

 

[[174272]]

 
 

 

責(zé)任編輯:潤月 來源: 51CTO
相關(guān)推薦

2024-08-07 15:27:50

2013-04-19 14:28:07

大數(shù)據(jù)

2013-04-28 10:36:54

大數(shù)據(jù)Facebook

2020-11-24 09:50:22

大數(shù)據(jù)語言go

2019-08-15 22:55:39

大數(shù)據(jù)數(shù)據(jù)圏數(shù)據(jù)產(chǎn)生量

2019-01-09 11:05:29

大數(shù)據(jù)工業(yè)算法

2018-03-28 17:18:26

大數(shù)據(jù)

2018-09-14 17:22:43

大數(shù)據(jù)平臺京東日志

2017-06-26 15:47:27

2021-07-30 19:07:27

大數(shù)據(jù)云計(jì)算云原生化

2018-07-06 14:27:26

存儲

2013-11-04 09:43:34

FacebookHadoop大數(shù)據(jù)

2014-04-21 10:25:01

大數(shù)據(jù)

2018-03-29 10:30:25

2024-06-25 13:08:31

2012-11-08 09:32:24

2011-08-02 17:38:23

富士通存儲新品

2013-12-12 10:00:03

大數(shù)據(jù)

2018-12-21 11:01:05

存儲大數(shù)據(jù)RAID

2012-09-29 09:37:42

Facebook大數(shù)據(jù)Hadoop
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號