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

淘寶Fourinone介紹及與Hadoop的性能PK

系統(tǒng) 大數(shù)據(jù) Hadoop
FourInOne(中文名字“四不像”)是一個四合一分布式計算框架,在寫這個框架之前,我對分布式計算進行了長時間的思考,也看了老外寫的其他開源框架,當我們把復雜的hadoop當作一門學科學習時,似乎忘記了我們想解決問題的初衷:我們僅僅是想寫個程序把幾臺甚至更多的機器一起用起來計算。

FourInOne(中文名字“四不像”)是一個四合一分布式計算框架,在寫這個框架之前,我對分布式計算進行了長時間的思考,也看了老外寫的其他開源框架,當我們把復雜的hadoop當作一門學科學習時,似乎忘記了我們想解決問題的初衷:我們僅僅是想寫個程序把幾臺甚至更多的機器一起用起來計算,把更多的cpu和內(nèi)存利用上,來解決我們數(shù)量大和計算復雜的問題,當然這個過程中要考慮到分布式的協(xié)同和故障處理。如果僅僅是為了實現(xiàn)這個簡單的初衷,為什么一切會那么復雜,我覺的自己可以寫一個更簡單的東西,它不需要過度設(shè)計,只需要看上去更酷一點,更小巧一點,功能更強一點。于是我將自己對分布式的理解融入到這個框架中,考慮到底層實現(xiàn)技術(shù)的相似性,我將Hadoop,Zookeeper,MQ,分布式緩存四大主要的分布式計算功能合為一個框架內(nèi),對復雜的分布式計算應(yīng)用進行了大量簡化和歸納。

  fourinone-1.11.09 hadoop-0.21.0
體積 82K 71M
依賴關(guān)系 就一個jar,沒有依賴 約12項jar包依賴
配置 就一個配置文件 較多配置文件和復雜屬性
集群搭建 簡單,每臺機器放一個jar和配置文件 復雜,需要linux操作基礎(chǔ)和ssh等復雜配置,還需要較多配置文件配置
計算模式 提供兩種計算模式:包工頭和工人直接交互方式,包工頭和工人通過消息中樞方式交互,后者不需要工人節(jié)點可直接訪問 計算更多傾向于文件數(shù)據(jù)的并行讀取,而非計算過程的設(shè)計。JobTracke 跟TaskTracker直接交互, 查詢NameNode后,TaskTracker直接從Datanode獲取數(shù)據(jù)。
并行模式 N*N,支持單機并行,也支持多機并行,多機多實例并行 1*N,不支持單機并行,只支持多機單實例并行
內(nèi)存方式 支持內(nèi)存方式設(shè)計和開發(fā)應(yīng)用,并內(nèi)置完整的分布式緩存功能 以hdfs文件方式進行數(shù)據(jù)處理,內(nèi)存方式計算支持很弱
文件方式 自帶文件適配器處理io Hdfs處理文件io
計算數(shù)據(jù)要求 任意數(shù)據(jù)格式和任意數(shù)據(jù)來源,包括來自數(shù)據(jù)庫,分布式文件,分布式緩存等 Hdfs內(nèi)的文件數(shù)據(jù),多傾向于帶換行符的數(shù)據(jù)
調(diào)度角色 包工頭,可以有多個,支持鏈式處理,也支持大包工頭對小包工頭的調(diào)度 JobTracke,通常與NameNode一起
任務(wù)執(zhí)行角色 農(nóng)民工,框架支持設(shè)計多種類型的工人用于拆分或者合并任務(wù) TaskTracker,通常與Datanode一起
中間結(jié)果數(shù)據(jù)保存 手工倉庫,或者其他任意數(shù)據(jù)庫存儲設(shè)備 Hdfs中間結(jié)果文件
拆分策略 自由設(shè)計,框架提供鏈式處理對于大的業(yè)務(wù)場景進行環(huán)節(jié)拆分數(shù)據(jù)的存儲和計算拆分根據(jù)業(yè)務(wù)場景自定義 以64m為拆分進行存儲,以行為拆分進行計算

實現(xiàn)map接口,按行處理數(shù)據(jù)進行計算

合并策略 自由設(shè)計,框架提供農(nóng)民工節(jié)點之間的合并接口,可以互相交互設(shè)計合并策略,也可以通過包工頭進行合并 TaskTracker不透明,較少提供程序控制,合并策略設(shè)計復雜

實現(xiàn)reduce接口進行中間數(shù)據(jù)合并邏輯實現(xiàn)

內(nèi)存耗用 無需要制定JVM內(nèi)存,按默認即可,根據(jù)計算要求考慮是否增加JVM內(nèi)存 需要制定JVM內(nèi)存,每個進程默認1G,常常namenode,jobtracker等啟動3個進程,耗用3G內(nèi)存
監(jiān)控 框架提供多環(huán)節(jié)鏈式處理設(shè)計支持監(jiān)控過程,通過可編程的監(jiān)控方式,給于業(yè)務(wù)開發(fā)方最大靈活的監(jiān)控需求實現(xiàn),為追求高性能不輸出大量系統(tǒng)監(jiān)控log 輸出較多的系統(tǒng)監(jiān)控log,如map和reduce百分比等,但是會犧牲性能,業(yè)務(wù)監(jiān)控需要自己實現(xiàn)
打包部署 腳本工具 上傳jar包到j(luò)obtracker機器
平臺支撐 支持跨平臺,windows支持良好 多傾向于支持linux,Windows支持不佳,需要模擬linux環(huán)境,并且建議只用于開發(fā)學習
其他 協(xié)同一致性、分布式緩存、通訊隊列等跟分布式計算關(guān)系密切的功能支持 不支持
總結(jié): Hadoop并不是為了追求一個并行計算的框架而設(shè)計,提供快捷和靈活的計算方式去服務(wù)各種計算場景, 它更多的是一個分布式文件系統(tǒng),提供文件數(shù)據(jù)的存儲和查詢,它的map/reduce更傾向于提供并行計算方式進行文件數(shù)據(jù)查詢。而fourinone相反。

 

Fourinone和hadoop運行wordcount的對比測試(平均4核4g配置,輸入數(shù)據(jù)為文件):

  fourinone-1.11.09(n*4) fourinone-1.11.09(n*1) hadoop-0.21.0(n*1)
3臺機器*256M 4s 12s 72s
3臺機器*512M 7s 30s 140s
3臺機器*1G 14s 50s 279s
19臺機器*1G 21s 60s 289s
10臺機器*2G 29s    
5臺機器*4G 60s    

說明:Fourinone可以充分利用單機并行能力,4核計算機可以4個并行實例計算,hadoop目前只能N*1;另外,可以由上圖看出,如果要完成20g的數(shù)據(jù),實際上fourinone只需要使用5臺機器用60秒完成,比使用19臺機器完成19g的hadoop節(jié)省了14臺機器,并提前了200多秒

相關(guān)分布式框架(jar格式)及demo代碼下載:

http://download.csdn.net/detail/fourinone/3557912

http://www.skycn.com/soft/68321.html

作者介紹:
Stone.Peng
資深I(lǐng)T技術(shù)人士
現(xiàn)在淘寶網(wǎng)任高級專家,從事互聯(lián)網(wǎng)核心技術(shù)研究
之前在金蝶總體架構(gòu)部任SOA架構(gòu)師,負責設(shè)計ESB

原文:http://fendou.org/2012/02/24/taobao-fourinone-vs-hadoop/

責任編輯:yangsai 來源: 崔玉松的博客
相關(guān)推薦

2012-10-25 17:48:15

Fourinone云計算架構(gòu)師峰會

2012-06-01 15:12:00

淘寶分布式計算Fourinone2.

2010-05-24 14:59:29

Hadoop集群

2011-12-30 15:01:36

淘寶

2012-09-10 15:18:11

云梯淘寶大數(shù)據(jù)

2010-11-01 12:56:02

云計算高性能計算

2010-06-04 10:48:15

Hadoop性能

2010-07-13 09:10:26

.NETMonoJava

2010-10-20 10:30:58

PHPJSP

2012-12-14 01:52:49

JVM淘寶JVMtaobao jvm

2009-08-31 18:40:01

Java 7新功能

2011-12-22 15:12:03

投影機常見問題

2014-05-07 14:09:20

Fourinone

2009-07-02 18:41:24

TPC能耗服務(wù)器

2017-01-22 10:40:31

Hadoop云部署大數(shù)據(jù)

2010-12-22 12:54:03

Linux性能監(jiān)測

2021-05-06 21:26:00

BcacheCeph存儲

2015-06-30 11:05:11

flexibleWebAPP設(shè)計

2015-04-20 15:27:53

EPONGPON光網(wǎng)絡(luò)

2020-09-04 06:20:59

物聯(lián)網(wǎng)工業(yè)物聯(lián)網(wǎng)IOT
點贊
收藏

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