轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2014-08-11 14:54:29.000|閱讀 640 次
概述:百度作為全球最大的中文搜索引擎公司,提供基于搜索引擎的各種產(chǎn)品,幾乎覆蓋了中文網(wǎng)絡(luò)世界中所有的搜索需求,因此,百度對(duì)海量數(shù)據(jù)處理的要求是比較高的, 要在線下對(duì)數(shù)據(jù)進(jìn)行分析,還要在規(guī)定的時(shí)間內(nèi)處理完并反饋到平臺(tái)上。百度在互聯(lián)網(wǎng)領(lǐng)域的平臺(tái)需求要通過(guò)性能較好的云平臺(tái)進(jìn)行處理了,Hadoop就是很好 的選擇。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
百度作為全球最大的中文搜索引擎公司,提供基于搜索引擎的各種產(chǎn)品,幾乎覆蓋了中文網(wǎng)絡(luò)世界中所有的搜索需求,因此,百度對(duì)海量數(shù)據(jù)處理的要求是比較高的, 要在線下對(duì)數(shù)據(jù)進(jìn)行分析,還要在規(guī)定的時(shí)間內(nèi)處理完并反饋到平臺(tái)上。百度在互聯(lián)網(wǎng)領(lǐng)域的平臺(tái)需求要通過(guò)性能較好的云平臺(tái)進(jìn)行處理了,Hadoop就是很好 的選擇。在百度,Hadoop主要應(yīng)用于以下幾個(gè)方面:
日志的存儲(chǔ)和統(tǒng)計(jì);
網(wǎng)頁(yè)數(shù)據(jù)的分析和挖掘;
商業(yè)分析,如用戶的行為和廣告關(guān)注度等;
在線數(shù)據(jù)的反饋,及時(shí)得到在線廣告的點(diǎn)擊情況;
用戶網(wǎng)頁(yè)的聚類(lèi),分析用戶的推薦度及用戶之間的關(guān)聯(lián)度。
MapReduce主要是一種思想,不能解決所有領(lǐng)域內(nèi)與計(jì)算有關(guān)的問(wèn)題,百度的研究人員認(rèn)為比較好的模型應(yīng)該如下圖:
HDFS 實(shí)現(xiàn)共享存儲(chǔ),一些計(jì)算使用MapReduce解決,一些計(jì)算使用MPI解決,而還有一些計(jì)算需要通過(guò)兩者來(lái)共同處理。因?yàn)镸apReduce適合處理數(shù) 據(jù)很大且適合劃分的數(shù)據(jù),所以在處理這類(lèi)數(shù)據(jù)時(shí)就可以用MapReduce做一些過(guò)濾,得到基本的向量矩陣,然后通過(guò)MPI進(jìn)一步處理后返回結(jié)果,只有整 合技術(shù)才能更好地解決問(wèn)題。
百度現(xiàn)在擁有3個(gè)Hadoop集群,總規(guī)模在700臺(tái)機(jī)器左右,其中有100多臺(tái)新機(jī)器和600多臺(tái)要淘汰的機(jī)器(它們的計(jì)算能力相當(dāng)于200多臺(tái)新機(jī)器),不過(guò)其規(guī)模還在不斷的增加中。現(xiàn)在每天運(yùn)行的MapReduce任務(wù)在3000個(gè)左右,處理數(shù)據(jù)約120TB/天。
百度為了更好地用Hadoop進(jìn)行數(shù)據(jù)處理,在以下幾個(gè)方面做了改進(jìn)和調(diào)整:
(1)調(diào)整MapReduce策略
限制作業(yè)處于運(yùn)行狀態(tài)的任務(wù)數(shù);
調(diào)整預(yù)測(cè)執(zhí)行策略,控制預(yù)測(cè)執(zhí)行量,一些任務(wù)不需要預(yù)測(cè)執(zhí)行;
根據(jù)節(jié)點(diǎn)內(nèi)存狀況進(jìn)行調(diào)度;
平衡中間結(jié)果輸出,通過(guò)壓縮處理減少I(mǎi)/O負(fù)擔(dān)。
(2)改進(jìn)HDFS的效率和功能
權(quán)限控制,在PB級(jí)數(shù)據(jù)量的集群上數(shù)據(jù)應(yīng)該是共享的,這樣分析起來(lái)比較容易,但是需要對(duì)權(quán)限進(jìn)行限制;
讓分區(qū)與節(jié)點(diǎn)獨(dú)立,這樣,一個(gè)分區(qū)壞掉后節(jié)點(diǎn)上的其他分區(qū)還可以正常使用;
修改DSClient選取塊副本位置的策略,增加功能使DFSClient選取塊時(shí)跳過(guò)出錯(cuò)的DataNode;
解決VFS(Virtual File System)的POSIX(Portable Operating System Interface of Unix)兼容性問(wèn)題。
(3)修改Speculative的執(zhí)行策略
采用速率倒數(shù)替代速率,防止數(shù)據(jù)分布不均時(shí)經(jīng)常不能啟動(dòng)預(yù)測(cè)執(zhí)行情況的發(fā)生;
增加任務(wù)時(shí)必須達(dá)到某個(gè)百分比后才能啟動(dòng)預(yù)測(cè)執(zhí)行的限制,解決reduce運(yùn)行等待map數(shù)據(jù)的時(shí)間問(wèn)題;
只有一個(gè)map或reduce時(shí),可以直接啟動(dòng)預(yù)測(cè)執(zhí)行。
(4)對(duì)資源使用進(jìn)行控制
對(duì)應(yīng)用物理內(nèi)存進(jìn)行控制。如果內(nèi)存使用過(guò)多會(huì)導(dǎo)致操作系統(tǒng)跳過(guò)一些任務(wù),百度通過(guò)修改Linux內(nèi)核對(duì)進(jìn)程使用的物理內(nèi)存進(jìn)行獨(dú)立的限制,超過(guò)閾值可以終止進(jìn)程。
分組調(diào)度計(jì)算資源,實(shí)現(xiàn)存儲(chǔ)共享、計(jì)算獨(dú)立,在Hadoop中運(yùn)行的進(jìn)程是不可搶占的。
在大塊文件系統(tǒng)中,X86平臺(tái)下一個(gè)頁(yè)的大小是4KB。如果頁(yè)較小,管理的數(shù)據(jù)就會(huì)很多,會(huì)增加數(shù)據(jù)操作的代價(jià)并影響計(jì)算效率,因此需要增加頁(yè)的大小。
百度在使用Hadoop時(shí)也遇到了一些問(wèn)題,主要有:
百度下一步的工作重點(diǎn)可能主要會(huì)涉及以下內(nèi)容:
百度同時(shí)也在使用Hypertable,它是以Google發(fā)布的BigTable為基礎(chǔ)的開(kāi)源分布式數(shù)據(jù)存儲(chǔ)系統(tǒng),百度將它作為分析用戶行為的平臺(tái),同時(shí)在元數(shù)據(jù)集中化、內(nèi)存占用優(yōu)化、集群安全停機(jī)、故障自動(dòng)恢復(fù)等方面做了一些改進(jìn)。
來(lái)源:開(kāi)源中國(guó) 作者:MrMichael
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)