偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

克服部署挑戰(zhàn),讓Hadoop和云成為最佳拍檔

大數(shù)據(jù) 數(shù)據(jù)庫 云計(jì)算 Hadoop
Hadoop 和云似乎是最佳搭檔。它們都包含靈活和分布式的處理與存儲,而且都帶有一個靈活的實(shí)例系統(tǒng)。它們還使您能夠根據(jù)數(shù)據(jù)和處理需求來擴(kuò)大和收縮 Hadoop 集群。但這會引發(fā)各種管理與調(diào)度問題。本文將了解所有這些問題,并描述基于云的 Hadoop 部署的挑戰(zhàn)與優(yōu)勢。

Hadoop 和云似乎是***搭檔。它們都包含靈活和分布式的處理與存儲,而且都帶有一個靈活的實(shí)例系統(tǒng)。它們還使您能夠根據(jù)數(shù)據(jù)和處理需求來擴(kuò)大和收縮 Hadoop 集群。但這會引發(fā)各種管理與調(diào)度問題。本文將了解所有這些問題,并描述基于云的 Hadoop 部署的挑戰(zhàn)與優(yōu)勢。

了解云部署的范圍

Hadoop 系統(tǒng)是一個用起來頗有挑戰(zhàn)性的環(huán)境,但由于云環(huán)境所具有的限制(與自由),云部署會引入額外的復(fù)雜性。

例如,借助云中的 Hadoop,如何處理可變的集群規(guī)模與信息的有效分布?如何有效地?cái)U(kuò)大和收縮云環(huán)境,以便應(yīng)付您期望處理的 Hadoop 負(fù)載?如何計(jì)劃和控制任務(wù)與處理,以便在云實(shí)例可用時(shí)***限度地利用它們?

根據(jù)具體云服務(wù)的不同,云部署的優(yōu)勢與劣勢會對這些環(huán)境中 Hadoop 的使用產(chǎn)生相應(yīng)的影響。請記住,與公有云相比,私有云服務(wù)的約束與限制存在巨大差異。如果使用自己的 VM 環(huán)境或諸如 OpenStack 這樣的解決方案時(shí),那么您將擁有極大的靈活性來定制服務(wù)與功能。

為了讓云中的 Hadoop 發(fā)揮***功效,您首先需要了解已經(jīng)存在的云部署解決方案,以及它們對于 Hadoop 環(huán)境有哪些影響。

基于服務(wù)的云部署

某些云解決方案完全基于某個特定服務(wù),該服務(wù)將會加載并處理數(shù)據(jù)。例如,借助 IBM Bluemix®,您可以基于 IBM InfoSphere® BigInsights™ 配置一個 MapReduce 服務(wù),該服務(wù)可以處理高達(dá) 20GB 的信息。但 Hadoop 服務(wù)的大小、配置與復(fù)雜性是不可配置的。其他基于服務(wù)的解決方案也提供同樣類別的復(fù)雜性。

您必須根據(jù)自己的需要來選擇或配置服務(wù)解決方案的大小,因?yàn)槟赡軣o法控制磁盤、I/O、CPU 或 RAM 的可用性。

確定需求的惟一途徑就是通過測試。在計(jì)算結(jié)果上再增加 25% 或更高,以便為使用率***和最復(fù)雜的情況留出余地。

基于(虛擬)機(jī)器的云部署

盡管云環(huán)境完全基于機(jī)器或虛擬機(jī)風(fēng)格的部署,Hadoop 在虛擬環(huán)境中的安裝方式與在物理機(jī)器上極為相似。您可以對可配置參數(shù)的范圍進(jìn)行配置,而這些參數(shù)會改變您針對集群部署的選擇。

每個節(jié)點(diǎn)的配置尤其需要認(rèn)真考慮,包括 CPU、RAM、磁盤容量和磁盤 I/O 速度。盡管優(yōu)秀的 Hadoop 集群部署可以隱藏節(jié)點(diǎn)之間的鏡像差異,但在需要標(biāo)準(zhǔn)支持和提高速度與運(yùn)算能力時(shí),了解配置可以幫助您調(diào)整部署的規(guī)模。

和所有基于云的系統(tǒng)或安裝部署一樣,配置取決于以下因素:

CPU

精確的 CPU 計(jì)算或任意單元。除非部署的是基于 YARN 的解決方案,否則應(yīng)考慮為集群內(nèi)所有的數(shù)據(jù)與處理節(jié)點(diǎn)部署完全相同的配置。這種方法讓計(jì)算所需的集群規(guī)模與容量變得更輕松。針對基于 YARN 的部署,可以將集群內(nèi)不同節(jié)點(diǎn)配置為支持和處理不同級別的 CPU 容量。例如,這種方法可以使用指定項(xiàng)目的特定高性能 CPU 節(jié)點(diǎn)組來擴(kuò)展現(xiàn)有集群。

RAM

所有節(jié)點(diǎn)都至少應(yīng)該擁有 4GB 空間,但此空間的大小可能會受到實(shí)際可用空間的限制。此外還要記住,一定要留出一些空間用于文件緩存,這樣可以提高性能。有些解決方案(如 HBase)可以使用額外的內(nèi)存。

存儲器容量

確保對操作系統(tǒng)和 Hadoop 存儲使用了單獨(dú)的卷,這種實(shí)踐可以提高性能并讓擴(kuò)展 HDFS 存儲變得更簡單。在縮放集群大小之前,應(yīng)估計(jì)要使用的存儲容量,并標(biāo)準(zhǔn)化指定的大小。這種方法可確保在整個集群上實(shí)現(xiàn)***程度的平均分布。

磁盤 I/O

HDFS 環(huán)境應(yīng)該限制磁盤 I/O 的暴露,因?yàn)樗泄ぷ鞫挤植荚诩荷稀H欢跊]有必要的情況下,不要將磁盤 I/O 限制到節(jié)點(diǎn)無法有效訪問和處理數(shù)據(jù)的程度。在眾多云環(huán)境中,基準(zhǔn)或***的磁盤 I/O 配置可能過低,甚至降低了總體性能。更糟糕的是,如果無法確保磁盤 I/O 速率位于某個特定水平上,那么在處理任務(wù)的過程中,可能會遭遇性能下降。

網(wǎng)絡(luò) I/O

Hadoop 需要進(jìn)行大量的網(wǎng)絡(luò) I/O 才能完成操作;除了原始寫入之外,每個文件都至少被復(fù)制兩次,而且 MapReduce 操作期間使用的數(shù)據(jù)都必須采用類似的方式通過網(wǎng)絡(luò)進(jìn)行傳輸。在眾多云環(huán)境中,網(wǎng)絡(luò)性能是受限的,這可能成為部署中的一個限制因素。

混合型云部署

在一些混合型云部署中,有些元素是固定的,而其他元素是可變的。在這種情況下,您可以在某些限制下定義特定的機(jī)器容量,同時(shí)控制節(jié)點(diǎn)的總體數(shù)量。在這些 Hadoop 云部署中,選擇正確的 RAM 與 CPU 組合,然后調(diào)整集群,使之滿足這種配置。

#p#

擴(kuò)展與收縮 Hadoop 集群

云環(huán)境最吸引人的方面之一就是能夠擴(kuò)展和收縮 Hadoop 集群的規(guī)模,使之滿足將要提交的任務(wù)對于負(fù)載與存儲的要求。在以基于服務(wù)架構(gòu)為基礎(chǔ)的云環(huán)境中,擴(kuò)展與收縮通常是通過云服務(wù)的控制部分進(jìn)行管理的。

擴(kuò)展集群通常很容易,因?yàn)橥ㄟ^給現(xiàn)有配置增加更多節(jié)點(diǎn),就可以更加輕松地使用額外的資源。收縮集群困難一些,有可能會導(dǎo)致性能受損和任務(wù)中斷。

根據(jù)您選擇的云環(huán)境,用于增加或減少 Hadoop 集群規(guī)模的具體方法也會有所不同?;诜?wù)的云環(huán)境有一些內(nèi)置的伸縮功能?;谔摂M機(jī)的單元需要在集群內(nèi)進(jìn)行部署、安裝軟件和授權(quán)。

使用有彈性的 Hadoop 集群

真正有彈性的 Hadoop 集群需要大量的工作與管理。即便是啟動云服務(wù),大量增加節(jié)點(diǎn),稍后再刪除它們,實(shí)際的數(shù)據(jù)增加與管理工作也會很復(fù)雜。

大問題在于,對于要以***效率處理問題的集群而言,真正需要做的是將數(shù)據(jù)與工作負(fù)載分布到集群上。

此外,還要考慮這些處理所花費(fèi)的時(shí)間。甚至在最理想的情況下,啟動每個節(jié)點(diǎn)并讓它們開始處理工作的過程需要花費(fèi) 5 到 10 分鐘。

收縮規(guī)模一直是更為復(fù)雜的問題,因?yàn)楸仨毐苊饪赡鼙4嫱粩?shù)據(jù)塊的所有副本的節(jié)點(diǎn)停止運(yùn)行。為了縮小集群的規(guī)模,必須首先執(zhí)行再次平衡,確定數(shù)據(jù)被正確存儲,而且數(shù)據(jù)副本分布在余下的節(jié)點(diǎn)上,如果需要再次縮小規(guī)模,只需重復(fù)以上過程即可。

擴(kuò)展 Hadoop 集群

使用新節(jié)點(diǎn)擴(kuò)展集群是一種常見的需求,過程也很簡單。通常,在云環(huán)境中增加節(jié)點(diǎn)時(shí),新節(jié)點(diǎn)的大小與容量與現(xiàn)有節(jié)點(diǎn)相同。這種方法有助于未來的容量規(guī)劃。這條通用規(guī)則不適用于以下情形:

在您計(jì)劃使用更多空間、CPU 或 RAM 容量升級節(jié)點(diǎn)時(shí)。

在集群到達(dá) 80% 容量之前擴(kuò)展集群時(shí)。僅在當(dāng)前容量達(dá)到 80% 時(shí)才增加節(jié)點(diǎn)數(shù)量。被動等待擴(kuò)展集群可能會導(dǎo)致容量不夠用。

決定增加更多節(jié)點(diǎn)后,實(shí)際的過程則十分簡單:

  • 向云環(huán)境添加新節(jié)點(diǎn)。
  • 在每個新節(jié)點(diǎn)上安裝 Hadoop。(從鏡像獲取一個預(yù)先安裝好的節(jié)點(diǎn)是最容易的方式。)
  • 在主節(jié)點(diǎn)上的 conf/slaves 文件中添加新節(jié)點(diǎn)的信息。
  • 啟動如 清單 1 中所示的 Hadoop 流程。

清單 1. 啟動 Hadoop 流程

  1. $ hadoop-daemon.sh start datanode 
  2. $ hadoop-daemon.sh start tasktracker 

 不同的 Hadoop 變體可能有不同的步驟,但這些屬于基本步驟。您可能還想確保主節(jié)點(diǎn)通過檢查 dfs.hosts 配置能夠正確識別它們。為了檢查它們是否被正確識別,可以運(yùn)行 清單 2 中的代碼。

清單 2. 確保 Hadoop 變體被正確識別

  1. $ hadoop mradmin -refreshNodes 
  2. $ hadoop dfsadmin -refreshNodes 

這段代碼針對 MapReduce 任務(wù)處理來設(shè)置節(jié)點(diǎn),但沒有移動任何現(xiàn)有數(shù)據(jù)。下一步驟是確保移動文件塊。

重新分布已存儲的數(shù)據(jù)塊

可以在集群內(nèi)移動已存儲的數(shù)據(jù)塊,以便更好地使用增加的節(jié)點(diǎn),移動的方法有如下幾種:

將文件復(fù)制到不同的目錄。這項(xiàng)操作將自動重新分布數(shù)據(jù)塊,因?yàn)槲募挥行е貙懙?HDFS 中。這個步驟需要額外的工作,但它可以與工作流同時(shí)執(zhí)行。
臨時(shí)增加復(fù)制容量。默認(rèn)值為 3。將這個值提高到 4 將向集群添加新的數(shù)據(jù)塊副本。將這個值減少為 3 將從某些機(jī)器上移除數(shù)據(jù)塊。
顯式啟動一次調(diào)整操作:

  1. $ start-balancer.sh 

 請記住,啟動任意類型的調(diào)整操作都需要大量的 I/O 與網(wǎng)絡(luò)傳輸,直到調(diào)整完成為止。

收縮 Hadoop 集群

收縮 Hadoop 集群時(shí)要考慮以下因素:

  • 是否能安全地縮小集群規(guī)模? 如果有任務(wù)正在運(yùn)行,在每個節(jié)點(diǎn)上運(yùn)行一次停止運(yùn)行過程(decommission process)。此過程將刪除節(jié)點(diǎn)并以可重新開始的方式停止所有正在運(yùn)行的任務(wù)(使用狀態(tài) KILLED_UNCLEAN),這樣當(dāng)下次檢查隊(duì)列并且 JobTracker 重新分配任務(wù)時(shí),就可以在可用節(jié)點(diǎn)上重新安排任務(wù)執(zhí)行。
  • 是否能夠在其他節(jié)點(diǎn)上釋放空間?請記住,縮小集群規(guī)模就是減少用于復(fù)制數(shù)據(jù)的計(jì)算機(jī)數(shù)量,并提高剩余節(jié)點(diǎn)上的磁盤使用。

注意: 一次停止運(yùn)行的節(jié)點(diǎn)絕不能超過一個。

云環(huán)境的魅力在于,可以在 100 個節(jié)點(diǎn)的集群中啟動 20 個新節(jié)點(diǎn)來應(yīng)對高峰,稍后便可移除它們。這種方法使得集群面臨較少的風(fēng)險(xiǎn),甚至可能完全移除已存儲數(shù)據(jù)的風(fēng)險(xiǎn)。停止運(yùn)行過程會自動在余下節(jié)點(diǎn)中重新分布數(shù)據(jù)副本。盡管可以減少大的數(shù)據(jù)塊,但這樣做會給系統(tǒng)帶來很大的負(fù)載。但會減少多個數(shù)據(jù)塊中的節(jié)點(diǎn)。

停止運(yùn)行的最安全方法是分階段完成停止運(yùn)行過程。例如,如果要移除 20 個節(jié)點(diǎn),每次停止運(yùn)行 3 到 5 個節(jié)點(diǎn):

將要移除的節(jié)點(diǎn)從集群添加到 dfs.hosts.exclude 設(shè)置。

運(yùn)行 dfs 刷新來更新節(jié)點(diǎn)列表:

  1. $ hadoop dfsadmin -refreshNodes 

 刷新 MapReduce 配置:

  1. $ hadoop mradmin -refreshNodes 

 節(jié)點(diǎn)現(xiàn)在被標(biāo)記為已停止運(yùn)行。在節(jié)點(diǎn)最終停止運(yùn)行并安全移除機(jī)器之前,要將數(shù)據(jù)副本復(fù)制到其他集群中的其他主機(jī)。

現(xiàn)在,對每個額外的數(shù)據(jù)塊重復(fù)這些步驟。通常,此過程花費(fèi)的時(shí)間要長于擴(kuò)展過程,但它消除了數(shù)據(jù)丟失的風(fēng)險(xiǎn)。

升級節(jié)點(diǎn)配置

云環(huán)境的主要優(yōu)勢之一是可以靈活地修改單獨(dú)節(jié)點(diǎn)配置,甚至可以根據(jù)需要完全更新和替換節(jié)點(diǎn)。您可以分階段地完成這些修改,將前面描述的擴(kuò)展和收縮過程合二為一。您甚至可以將這個過程作為針對特定任務(wù)的計(jì)劃擴(kuò)展與收縮過程的一個組成部分。

例如,要將 20 個數(shù)據(jù)節(jié)點(diǎn)從 4 CPU 系統(tǒng)變?yōu)?8 CPU 系統(tǒng),可以執(zhí)行以下步驟:

  • 添加 4 個具有新配置的新節(jié)點(diǎn)。
  • 將它們添加到配置。
  • 啟動服務(wù)。
  • 執(zhí)行調(diào)整。
  • 從舊配置停止運(yùn)行 4 個數(shù)據(jù)節(jié)點(diǎn)
  • 重復(fù)這些步驟。

結(jié)果是獲得了一個首先通過添加新配置節(jié)點(diǎn)進(jìn)行擴(kuò)展,然后通過移除舊配置節(jié)點(diǎn)進(jìn)行收縮的集群。

#p#

任務(wù)調(diào)度與分布

根據(jù)任務(wù)調(diào)度需要確定擴(kuò)展與收縮集群的時(shí)間,以及處理該過程所需的容量大小。

借助云模型,您有時(shí)可以使用多個單獨(dú)的集群代替一個大型集群,從中獲得一些優(yōu)勢。您可以根據(jù)數(shù)據(jù)復(fù)雜性和集群規(guī)模來調(diào)度工作。例如,一個較大的處理任務(wù)可能需要更多的節(jié)點(diǎn),但需要的存儲較少,而其他任務(wù)可能需要更多的存儲,但需要的處理節(jié)點(diǎn)較少。

在云中進(jìn)行處理時(shí),嘗試在***化集群配置的同時(shí)不擴(kuò)展或增加集群規(guī)模。很多工具都能做到這一點(diǎn),包括基本的任務(wù)調(diào)度和使用復(fù)雜的工作流,比如 IBM InfoSphere BigInsights 中的應(yīng)用程序管理器和 Oozie。我們的目標(biāo)是在不增加成本的情況下讓集群獲得***性能,并確保不會讓集群過載到無法輕松擴(kuò)展或恢復(fù)的程度。

應(yīng)對存儲與負(fù)載高峰

最復(fù)雜的過程很可能是了解如何應(yīng)對突如其來的存儲與負(fù)載高峰。根據(jù)部署環(huán)境,可用的選擇可能有很大差異。對于您可以改變的一些因素,當(dāng)您意識到集群已經(jīng)超出容量時(shí),您會怎樣做?

顯著的觀點(diǎn)是從一開始就嘗試避免這個特定問題。您可能希望時(shí)刻關(guān)注容量,并確保留出 20% 到 30% 的容量來處理工作。運(yùn)行容量超過 80% 時(shí)會帶來一些麻煩。

確定需求

首先確定是否需要增加磁盤或 MapReduce 容量。這二者具有不同的屬性。二者的做法均是為了添加更多的節(jié)點(diǎn),添加更多的節(jié)點(diǎn)通常可以解決問題,但其代價(jià)可能是不必要的。

如果問題是在存儲上,那么可以考慮給現(xiàn)有節(jié)點(diǎn)增加更多的存儲設(shè)備。有些云環(huán)境能夠在不重新引導(dǎo)或修改系統(tǒng)的情況下提供這個選項(xiàng)。在這種情況下,可以將 dfs.datanode.data.dir 配置更新為包含新掛載的目錄。這個選項(xiàng)始終比使用新節(jié)點(diǎn)擴(kuò)展集群要快得多,也容易得多。

如果屬于長期問題,則應(yīng)該考慮 增加節(jié)點(diǎn)和使用擁有更大容量的節(jié)點(diǎn)替換一些現(xiàn)有的節(jié)點(diǎn)。從長遠(yuǎn)角度看,這是一項(xiàng)值得的投資,因?yàn)檫@樣做可以防止在未來面臨高峰時(shí)出現(xiàn)更多的問題。

如果需要 CPU 能力,但是只愿意等待存儲需求而不愿意進(jìn)行調(diào)整,那么可以添加新的節(jié)點(diǎn),安裝 Hadoop,然后啟動數(shù)據(jù)節(jié)點(diǎn)與任務(wù)跟蹤器過程,但不執(zhí)行任何調(diào)整。

確定是否能通過足夠快地?cái)U(kuò)展(和收縮)來達(dá)到效果

如果與任務(wù)的計(jì)劃長度相比,高峰期較短,那么可能不值得添加節(jié)點(diǎn),因?yàn)閯?chuàng)建新主機(jī)所花費(fèi)的時(shí)間比處理任務(wù)還要長。

盡管不存在通用規(guī)則,但要牢記,云部署或許能夠?qū)⒐?jié)點(diǎn)容量提高 10%,甚至是 100%,但以完全線性的方式來看它可能不會提高性能,特別是在云環(huán)境中。

如果任務(wù)的預(yù)計(jì)運(yùn)行時(shí)間是 6 小時(shí),而您可以在不到一小時(shí)內(nèi)將集群的規(guī)模有效提高 50%,那么擴(kuò)展集群是值得的。

當(dāng)高峰結(jié)束時(shí)是否也能夠及時(shí)收縮?

考慮高峰結(jié)束時(shí)收縮規(guī)模所需的時(shí)間長短。收縮需要花費(fèi)額外的時(shí)間來完成停止運(yùn)行過程,并將數(shù)據(jù)塊重新分布到集群的余下節(jié)點(diǎn)上。圖 1 顯示了同一任務(wù)在 10 個節(jié)點(diǎn)上運(yùn)行,然后在更多節(jié)點(diǎn)上運(yùn)行的大約時(shí)間,其中包括向集群添加節(jié)點(diǎn)和讓節(jié)點(diǎn)停止運(yùn)行的時(shí)間,所有時(shí)間的測量單位均為小時(shí)。

從這張圖中可以看出,增加 5 個節(jié)點(diǎn)很快,將集群規(guī)模擴(kuò)展三倍很簡單,但在節(jié)點(diǎn)停止運(yùn)行時(shí)額外花費(fèi)了 2.5 小時(shí)的時(shí)間。此過程最終僅節(jié)省了一個小時(shí),但成本卻變?yōu)樵瓉淼娜丁?/p>

結(jié)束語

在云中部署 Hadoop 需要了解云環(huán)境的限制,并能夠根據(jù)需要動態(tài)地?cái)U(kuò)展和收縮集群規(guī)模的優(yōu)點(diǎn)。但靈活的特性不代表沒有缺陷。因此,有效的 Hadoop 部署需要您了解運(yùn)行任務(wù),以及擴(kuò)展和收縮過程所需的時(shí)間長短,從而將云中任務(wù)執(zhí)行的時(shí)間縮至最短。

原文鏈接:http://www.ibm.com/developerworks/cn/data/library/ba/ba-hadoop-in-cloud/index.html

責(zé)任編輯:Ophira 來源: ibm developerworks
相關(guān)推薦

2021-06-10 16:49:15

物聯(lián)網(wǎng)互聯(lián)網(wǎng)IoT

2021-06-28 15:22:22

物聯(lián)網(wǎng)部署IOT

2020-04-19 17:23:55

混合云云計(jì)算

2019-04-26 12:12:38

人工智能物聯(lián)網(wǎng)IOT

2020-07-20 10:40:31

云計(jì)算云平臺IT

2013-10-16 09:41:16

網(wǎng)絡(luò)功能虛擬化NFV

2018-12-13 12:20:25

工業(yè)物聯(lián)網(wǎng)IIoT物聯(lián)網(wǎng)

2018-07-26 11:20:27

公共云存儲挑戰(zhàn)

2012-03-19 14:00:06

HP M275激光打印機(jī)

2019-12-04 08:08:55

云安全云計(jì)算多云

2020-11-19 10:42:36

云遷移云平臺云計(jì)算

2021-09-18 14:46:31

信創(chuàng)用友

2020-02-18 10:50:36

云計(jì)算網(wǎng)絡(luò)安全

2013-12-20 09:30:20

桌面云云計(jì)算技術(shù)桌面云挑戰(zhàn)

2022-04-15 14:14:22

混合云云計(jì)算云安全

2023-10-26 16:21:27

2022-07-11 11:14:37

智能工廠物聯(lián)網(wǎng)

2011-08-30 15:08:07

2015-06-04 09:12:05

云安全

2010-05-11 11:21:04

Hyper-V虛擬化
點(diǎn)贊
收藏

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