溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Hadoop集群壞境怎么搭建配置

發(fā)布時(shí)間:2021-12-09 15:57:08 來(lái)源:億速云 閱讀:166 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Hadoop集群壞境怎么搭建配置”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Hadoop集群壞境怎么搭建配置”吧!

一、硬件的選擇

首先,關(guān)于Hadoop集群環(huán)境硬件的選擇,無(wú)非就是圍繞幾個(gè)面去選擇:

1、需要搭建集群包含幾個(gè)節(jié)點(diǎn)(Node)?

     關(guān)于這個(gè)問(wèn)題,引入的要考慮的點(diǎn)就是需要搭建幾個(gè)Server環(huán)境,因?yàn)樵诜植际江h(huán)境中,一個(gè)服務(wù)器(Server)就是一個(gè)節(jié)點(diǎn),所以在選擇節(jié)點(diǎn)的問(wèn)題上是需要參照參照當(dāng)前集群所要應(yīng)用的業(yè)務(wù)場(chǎng)景來(lái)決定了,當(dāng)然,在分布式集群環(huán)境中節(jié)點(diǎn)越多所帶來(lái)的就是整個(gè)集群性能的提升,同樣也也就意味著帶來(lái)了成本的增高。

    但是,關(guān)于Hadoop集群有一個(gè)最低的節(jié)點(diǎn)量供大家參考。

    首先,在一個(gè)Hadoop集群環(huán)境中,NameNode,SecondaryNameNode和DataNode是需要分配不同的節(jié)點(diǎn)上的,所以至少有三個(gè)節(jié)點(diǎn)來(lái)當(dāng)然這些角色。這也就意味至少需要有三臺(tái)服務(wù)器。當(dāng)然,在Hadoop運(yùn)行作業(yè)完成的時(shí)候,還需要另外一個(gè)角色History Server來(lái)記錄歷史程序的運(yùn)行情況,建議是將這個(gè)角色用獨(dú)立的一臺(tái)服務(wù)器來(lái)運(yùn)行。

    所以,在一個(gè)最簡(jiǎn)單的Hadoop分布式集群中至少需要三臺(tái)服務(wù)器來(lái)構(gòu)建:


    • 第一臺(tái)用來(lái)記錄所有的數(shù)據(jù)分布情況,運(yùn)行的進(jìn)程就是NameNode

    • 第二臺(tái)用來(lái)備份所有數(shù)據(jù)分布情況,畢竟當(dāng)前面的那臺(tái)服務(wù)器宕機(jī)的時(shí)候,還可以通過(guò)該服務(wù)器來(lái)恢復(fù)數(shù)據(jù)。所以,該服務(wù)器運(yùn)行的程序就是SecondaryNameNode

    • 第三臺(tái)用來(lái)存儲(chǔ)實(shí)際的數(shù)據(jù),運(yùn)行的進(jìn)程就是DataNode

    • 第四臺(tái)是可選的服務(wù)器用來(lái)記錄應(yīng)用程序歷史的運(yùn)行狀況。運(yùn)行的程序就是History Server了。

2、集群環(huán)境中各個(gè)服務(wù)里該如何選擇配置?

     其實(shí)這個(gè)問(wèn)題就是配置選型的問(wèn)題,關(guān)于配置無(wú)非就是內(nèi)存、CPU、存儲(chǔ)等如何選擇,當(dāng)然,在公司預(yù)算允許的情況下,配置越高越好,關(guān)于這些個(gè)問(wèn)題在搭建Hadoop環(huán)境的時(shí)候,需要從以下幾個(gè)點(diǎn)來(lái)考慮。

     首先,關(guān)于集群中的幾個(gè)節(jié)點(diǎn)是根據(jù)角色的劃分有側(cè)重點(diǎn)進(jìn)行配置的,并不是要求所有的服務(wù)器都弄一樣的配置,在Hadoop集群環(huán)境中,最重要的就是NameNode運(yùn)行的服務(wù)器了,因?yàn)樗缪莸慕巧钦麄€(gè)集群的調(diào)度和協(xié)調(diào)工作,當(dāng)然在這個(gè)角色中還有一個(gè)最重要的進(jìn)程是資源管理(ResourceManager),它才是真正的協(xié)調(diào)整個(gè)集群中每個(gè)節(jié)點(diǎn)的運(yùn)行。所以這個(gè)服務(wù)器的配置要高于其它節(jié)點(diǎn)。

     其次,在Hadoop集群運(yùn)行的過(guò)程是需要將所有的數(shù)據(jù)分布記錄拉入到內(nèi)存中的,所以這就意味著當(dāng)整個(gè)集群的數(shù)據(jù)越來(lái)越大,我們知道在大數(shù)據(jù)的環(huán)境下,幾TB級(jí)別或者PB級(jí)別的數(shù)據(jù)是很常見(jiàn)的,這也就意味這個(gè)數(shù)據(jù)分布記錄也要增大,所以需要加大內(nèi)存,這里有一個(gè)參考依據(jù):

一般1GB內(nèi)存可以管理百萬(wàn)個(gè)block文件。

舉例:bolck為128M,副本為3個(gè),200臺(tái)集群,4TB數(shù)據(jù),需要的Namenode內(nèi)存為:200(服務(wù)器數(shù))x 4194304MB(4TB數(shù)據(jù)) / (128MB x 3)=2184533.33個(gè)文件=2.18百萬(wàn)個(gè)文件,所以內(nèi)存值也就接近于2.2G了。

    再次,因?yàn)檫@里有有一臺(tái)機(jī)器用來(lái)做備份,所以secondary namenode需要的內(nèi)存與namenode需要的內(nèi)存大概一樣,然后就是從節(jié)點(diǎn)的各臺(tái)服務(wù)器需要的內(nèi)存量了,這里也有一個(gè)參考依據(jù):


    • 首先計(jì)算當(dāng)前CPU的虛擬核數(shù)(Vcore):虛擬核數(shù)(Vcore)=CPU個(gè)數(shù)*單CPU合數(shù)*HT(超線程數(shù))

    • 然后根據(jù)虛擬核數(shù)配置內(nèi)存容量:內(nèi)存容量=虛擬核數(shù)(Vcore)*2GB(至少2GB)

    關(guān)于CPU的選擇,因?yàn)镠adoop為分布式計(jì)算運(yùn)算,所以其運(yùn)行模型基本是密集型并行計(jì)算,所以推薦的CPU要盡量選擇多路多核的,條件允許的話每個(gè)節(jié)點(diǎn)都要如此。

    然后,在一個(gè)大型的分布式集群中,還需要注意的是,因?yàn)榉植际降挠?jì)算,需要各個(gè)節(jié)點(diǎn)間進(jìn)行頻繁的通信和IO操作,這也就意味對(duì)網(wǎng)絡(luò)帶寬有要求,所以推薦使用千兆以上的網(wǎng)卡,條件允許可以萬(wàn)兆網(wǎng)卡,交換機(jī)亦如此。

3、集群環(huán)境中每個(gè)節(jié)點(diǎn)存儲(chǔ)大小如何配置?需要引入什么raid?

     首先先來(lái)談一下關(guān)于raid的問(wèn)題,之前因?yàn)閞aid的目的就是為了防止數(shù)據(jù)丟失而做的存儲(chǔ)層數(shù)據(jù)備份機(jī)制,現(xiàn)在最佳的使用場(chǎng)景是單臺(tái)服務(wù)這種高風(fēng)險(xiǎn)的配置,然后再分布式集群中,所存儲(chǔ)的數(shù)據(jù)是分布式存放到各個(gè)數(shù)據(jù)節(jié)點(diǎn)上的(DataNode),并且Hadoop應(yīng)用已經(jīng)默認(rèn)實(shí)現(xiàn)了數(shù)據(jù)的備份,所以raid在分布式系統(tǒng)中是沒(méi)有多大作用的,然并卵!其實(shí),究其原理很簡(jiǎn)單,集群中單節(jié)點(diǎn)的數(shù)據(jù)備份在出現(xiàn)意外宕機(jī)的情況下基本是無(wú)法恢復(fù)出有效數(shù)據(jù)的。

然后我們?cè)賮?lái)分析一下關(guān)于存儲(chǔ)的問(wèn)題,可以明確一點(diǎn)的就是:數(shù)據(jù)量的大小決定了集群整體的存儲(chǔ)大小,同樣也決定了整個(gè)集群的規(guī)模!

來(lái)舉個(gè)例子:

假如我們當(dāng)前可以確定的存量數(shù)據(jù)量有1TB,然后每天大約增長(zhǎng)10GB的數(shù)據(jù)量,那么當(dāng)前集群未來(lái)一年之內(nèi)集群存儲(chǔ)大小計(jì)算方式為:

(1TB+10GB*365天)*3*1.3=17.8TB

可以看出,這個(gè)集群的規(guī)模一年就得大約需要18T的存儲(chǔ)空間,這里解釋一下計(jì)算的公式,括號(hào)外面的乘以3指的是當(dāng)前數(shù)據(jù)為了防止丟失自己所做的冗余備份,默認(rèn)是一份數(shù)據(jù)拷貝三份存儲(chǔ)于不同的服務(wù)器上,然后后面乘以1.3的目的是作為節(jié)點(diǎn)的操作系統(tǒng)或者計(jì)算的臨時(shí)結(jié)果預(yù)留空間。

然后,我們接著計(jì)算節(jié)點(diǎn)數(shù):

節(jié)點(diǎn)數(shù)(Nodes)=18TB/2TB=9

上面的計(jì)算公式除以2TB的假設(shè)是每個(gè)節(jié)點(diǎn)有2TB的存儲(chǔ)空間,這里根據(jù)集群的存儲(chǔ)大小可以計(jì)算出整個(gè)集群的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)數(shù):9個(gè)。

所以需要的總結(jié)點(diǎn)數(shù):總結(jié)點(diǎn)數(shù)=9(數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn))+2(NameNode和SecondaryNameNode)=11個(gè)。

到此,就需要搭建11個(gè)服務(wù)器來(lái)運(yùn)行集群了。

二、軟件的選擇

關(guān)于Hadoop集群環(huán)境軟件的選擇,無(wú)非就是圍繞這個(gè)幾個(gè)軟件產(chǎn)品去選擇:OS操作系統(tǒng),Hadoop版本,JDK版本,Hive版本、MySQL版本等。

1、操作系統(tǒng)該選擇哪款?

Hadoop產(chǎn)品是由Java語(yǔ)言開(kāi)發(fā)的,所以推薦的是Linux操作系統(tǒng),理由很簡(jiǎn)單開(kāi)源免費(fèi),就一個(gè)免費(fèi)這個(gè)理由就足以PK掉微軟的操作系統(tǒng),因?yàn)槲覀冎兰涵h(huán)境是需要很多臺(tái)服務(wù)器的,所以如果用微軟的服務(wù)器成本會(huì)高很多,當(dāng)然,其實(shí)在大數(shù)據(jù)開(kāi)源的產(chǎn)品中基本找不到微軟的影子,所以從這一點(diǎn)來(lái)講,微軟已經(jīng)拉下了很多,甚至已經(jīng)在落寞!

所以,在開(kāi)源的Linux操作系統(tǒng)中又是百花齊放,各種版本,各位朋友可以自行網(wǎng)上查閱各個(gè)版本的區(qū)別和優(yōu)越性,這里我就直接告訴大家我推薦的操作系統(tǒng)CentOS.

如下照抄自博友蝦皮的簡(jiǎn)介:

CentOS是一個(gè)基于Red Hat 企業(yè)級(jí) Linux 提供的可自由使用的源代碼企業(yè)級(jí)的 Linux 發(fā)行版本。每個(gè)版本的 CentOS 都會(huì)獲得七年支持(通過(guò)安全更新方式)。版本的 CentOS 每兩年發(fā)行一次,而每個(gè)版本的 CentOS 會(huì)定期(大概每六個(gè)月)更新一次,以便支持新的硬件。這樣,建立一個(gè)安全、低維護(hù)、穩(wěn)定、高預(yù)測(cè)性、高重復(fù)性的 Linux 環(huán)境。

 CentOS特點(diǎn)

  • 可以把CentOS理解為Red Hat AS系列!它完全就是對(duì)Red Hat AS進(jìn)行改進(jìn)后發(fā)布的!各種操作、使用和RED HAT沒(méi)有區(qū)別!

  • CentOS完全免費(fèi),不存在RED HAT AS4需要序列號(hào)的問(wèn)題。

  • CentOS獨(dú)有yum命令支持在線升級(jí),可以即時(shí)更新系統(tǒng),不像RED HAT那樣需要花錢(qián)購(gòu)買(mǎi)支持服務(wù)!

  • CentOS修正了許多RED HAT AS的BUG!

  • CentOS版本說(shuō)明: CentOS3.1 等同于 RED HAT AS3 Update1 CentOS3.4 等同于 RED HAT AS3 Update4 CentOS4.0 等同于 RED HAT AS4。

好了,我相信以上這些理由足以征服你了。

 2、Hadoop版本選擇的問(wèn)題?

關(guān)于Hadoop歷史版本變遷過(guò)程中,出現(xiàn)了很多版本,有興趣的童鞋可以自行查閱,這里我只從大的方向把Hadoop版本劈成2個(gè),這里暫稱Hadoop1.0和Hadoop2.0,截止我寫(xiě)本文章的時(shí)候,Hadoop2.0版本已經(jīng)相當(dāng)穩(wěn)定,并且逐漸在企業(yè)應(yīng)用中大面積推廣而來(lái),關(guān)于這兩個(gè)版本我就不去過(guò)多的介紹,網(wǎng)友可以自行查閱,或者參考我之前的一篇關(guān)于兩個(gè)版本的架構(gòu)比較。

所以,本系列內(nèi)容我應(yīng)用的版本就是基于Hadoop2.0這個(gè)系列來(lái)進(jìn)行講解。

而關(guān)于Jdk版本的問(wèn)題是和Hadoop的版本相匹配的,其它相關(guān)產(chǎn)品后續(xù)我們會(huì)分析,當(dāng)然也大家可以自行從Hadoop官網(wǎng)上去查詢,這里不贅述。

操作系統(tǒng)

為了方便演示,我會(huì)使用虛擬機(jī)跟大家講解,當(dāng)然,有興趣的童鞋也可以自行下載虛擬機(jī)跟隨我一步步來(lái)搭建這個(gè)平臺(tái),這里我選擇的虛擬機(jī)為:VMware。

大家網(wǎng)上下載安裝就可以了,過(guò)程很簡(jiǎn)單,沒(méi)啥需要講解的,當(dāng)然你的PC配置是需要好一點(diǎn)的,至少8G以上,要不基本玩轉(zhuǎn)不了虛擬機(jī)。

Hadoop集群壞境怎么搭建配置

安裝完成就是上面的樣子了,相關(guān)資料大家網(wǎng)上查閱吧,這里就不在贅述。

然后,我們進(jìn)行Liunx操作系統(tǒng)的安裝,上面已經(jīng)說(shuō)過(guò),我們選擇的是CentOS操作,所以需要到CentOS官網(wǎng)進(jìn)行下載安裝就行,記住了:不用怕,不花錢(qián)!

這里在選擇CentOS版本的時(shí)候需要記住了,如果不是公司要求,盡量不要選擇最新的,而是要選擇最穩(wěn)定的,原因很簡(jiǎn)單,誰(shuí)也不要當(dāng)新版本的小白鼠。

Hadoop集群壞境怎么搭建配置

然后選擇要下載的穩(wěn)定版本,這里我推薦選擇CentOS6.8 64位操作系統(tǒng)。

Hadoop集群壞境怎么搭建配置

然后,點(diǎn)擊找到下載包下載就行。

在安裝各個(gè)節(jié)點(diǎn)之前,我們需要提前準(zhǔn)備好相關(guān)節(jié)點(diǎn)的配置信息,比如計(jì)算機(jī)名、IP地址、安裝角色、超級(jí)管理員賬戶信息,內(nèi)存分配、存儲(chǔ)等,所以我列舉了一個(gè)表格供大家參考:

機(jī)器名稱IP地址角色OS最高管理員名稱(Name)最高管理員密碼(PWD)一般用戶名稱(Name)一般用戶密碼(PWD)
Master.Hadoop 192.168.1.50 MasterCentOS6.8rootpassword01!hadooppassword01!
Salve01.Hadoop 192.168.1.51 Salve1CentOS6.8rootpassword01!hadooppassword01!
Salve02.Hadoop 192.168.1.52Salve2CentOS6.8rootpassword01!hadooppassword01!
Salve03.Hadoop 192.168.1.53Salve3CentOS6.8rootpassword01!hadooppassword01!
MySQLServer01102.168.1.100MySQLServerUbunturootpassword01!hadooppassword01!
MySQLServer02102.168.1.101MySQLServerUbunturootpassword01!hadooppassword01!

大家可以看到,我這里先提前規(guī)劃處四臺(tái)服務(wù)器用來(lái)搭建Hadoop集群,然后分別為其分配了機(jī)器名稱、IP,IP需要設(shè)置為統(tǒng)一網(wǎng)段,然后為了搭建我們的Hadoop集群,我們需要為所有集群中的節(jié)點(diǎn)創(chuàng)建一個(gè)獨(dú)立的用戶,這里我起了一個(gè)名字,就叫做Hadoop,當(dāng)然為了方便記憶我統(tǒng)一的將所有的密碼設(shè)置為password01!.

當(dāng)然,這里我們提前配置好內(nèi)存和存儲(chǔ),因?yàn)槲覀冎牢覀兪褂玫奶摂M機(jī)這些信息是可以根據(jù)使用的情況,進(jìn)行動(dòng)態(tài)調(diào)整的。

另外,我又搭建了兩臺(tái)Ubuntu的服務(wù)器來(lái)單獨(dú)安裝MySQLServer,搭建了一個(gè)主從模式,我們知道Ubuntu是一個(gè)界面友好的操作系統(tǒng),這里和Hadoop集群分離的目的是因?yàn)镸ysql數(shù)據(jù)庫(kù)是比較占內(nèi)存資源的,所以我們單獨(dú)機(jī)器來(lái)安裝,當(dāng)然,MySQL并不是Hadoop集群所需要的,兩者沒(méi)有必然的關(guān)系,這里搭建它的目的就為了后續(xù)安裝Hive來(lái)分析數(shù)據(jù)應(yīng)用的,并且我們可以在這個(gè)機(jī)器里進(jìn)行開(kāi)發(fā)調(diào)試,當(dāng)然Window平臺(tái)也可以,畢竟我們使用Windows平臺(tái)是最熟練的。

感謝各位的閱讀,以上就是“Hadoop集群壞境怎么搭建配置”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Hadoop集群壞境怎么搭建配置這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI