現(xiàn)在Hadoop在一月發(fā)布了2.7.2的穩(wěn)定版, 已經(jīng)從傳統(tǒng)的Hadoop三駕馬車HDFS,MapReduce和HBase社區(qū)發(fā)展為60多個(gè)相關(guān)組件組成的龐大生態(tài),其中包含在各大發(fā)行版中的組件就有25個(gè)以上,包括數(shù)據(jù)存儲(chǔ)、執(zhí)行引擎、編程和數(shù)據(jù)訪問框架等。 Hadoop在2.0將資源管理從MapReduce中獨(dú)立出來變成通用框架后,就從1.0的三層結(jié)構(gòu)演變?yōu)榱爽F(xiàn)在的四層架構(gòu):
存儲(chǔ)層 HDFS已經(jīng)成為了大數(shù)據(jù)磁盤存儲(chǔ)的事實(shí)標(biāo)準(zhǔn),用于海量日志類大文件的在線存儲(chǔ)。經(jīng)過這些年的發(fā)展,HDFS的架構(gòu)和功能基本固化,像HA、異構(gòu)存儲(chǔ)、本地?cái)?shù)據(jù)短路訪問等重要特性已經(jīng)實(shí)現(xiàn),在路線圖中除了Erasure Code已經(jīng)沒什么讓人興奮的feature。 隨著HDFS越來越穩(wěn)定,社區(qū)的活躍度也越來越低,同時(shí)HDFS的使用場景也變得成熟和固定,而上層會(huì)有越來越多的文件格式封裝:列式存儲(chǔ)的文件格式,如Parquent,很好的解決了現(xiàn)有BI類數(shù)據(jù)分析場景;以后還會(huì)出現(xiàn)新的存儲(chǔ)格式來適應(yīng)更多的應(yīng)用場景,如數(shù)組存儲(chǔ)來服務(wù)機(jī)器學(xué)習(xí)類應(yīng)用等。未來HDFS會(huì)繼續(xù)擴(kuò)展對于新興存儲(chǔ)介質(zhì)和服務(wù)器架構(gòu)的支持。 2015年HBase 發(fā)布了1.0版本,這也代表著 HBase 走向了穩(wěn)定。最新HBase新增特性包括:更加清晰的接口定義,多Region 副本以支持高可用讀,F(xiàn)amily粒度的Flush以及RPC讀寫隊(duì)列分離等。未來HBase不會(huì)再添加大的新功能,而將會(huì)更多的在穩(wěn)定性和性能方面進(jìn)化,尤其是大內(nèi)存支持、內(nèi)存GC效率等。 Kudu是Cloudera在2015年10月才對外公布的新的分布式存儲(chǔ)架構(gòu),與HDFS完全獨(dú)立。其實(shí)現(xiàn)參考了2012年Google發(fā)表的Spanner論文。鑒于Spanner在Google 內(nèi)部的巨大成功,Kudu被譽(yù)為下一代分析平臺(tái)的重要組成,用于處理快速數(shù)據(jù)的查詢和分析,填補(bǔ)HDFS和HBase之間的空白。其出現(xiàn)將進(jìn)一步把Hadoop市場向傳統(tǒng)數(shù)據(jù)倉庫市場靠攏。 Apache Arrow項(xiàng)目為列式內(nèi)存存儲(chǔ)的處理和交互提供了規(guī)范。目前來自Apache Hadoop社區(qū)的開發(fā)者們致力于將它制定為大數(shù)據(jù)系統(tǒng)項(xiàng)目的事實(shí)性標(biāo)準(zhǔn)。 Arrow項(xiàng)目受到了Cloudera、Databricks等多個(gè)大數(shù)據(jù)巨頭公司支持,很多committer同時(shí)也是其他明星大數(shù)據(jù)項(xiàng)目(如HBase、Spark、Kudu等)的核心開發(fā)人員。再考慮到Tachyon等似乎還沒有找到太多實(shí)際接地氣的應(yīng)用場景,Arrow的高調(diào)出場可能會(huì)成為未來新的內(nèi)存分析文件接口標(biāo)準(zhǔn)。 管控層 管控又分為數(shù)據(jù)管控和資源管控。 隨著Hadoop集群規(guī)模的增大以及對外服務(wù)的擴(kuò)展,如何有效可靠的共享利用資源是管控層需要解決的問題。脫胎于MapReduce1.0的YARN成為了Hadoop 2.0通用資源管理平臺(tái)。由于占據(jù)了Hadoop的地利,業(yè)界對其在資源管理領(lǐng)域未來的前景非常看好。 傳統(tǒng)其他資源管理框架如Mesos,還有現(xiàn)在興起的Docker等都會(huì)對YARN未來的發(fā)展產(chǎn)生影響。如何提高YARN性能、如何與容器技術(shù)深度融合,如何更好的適應(yīng)短任務(wù)的調(diào)度,如何更完整的多租戶支持、如何細(xì)粒度的資源管控等都是企業(yè)實(shí)際生產(chǎn)中迫在眉睫的需求,需要YARN解決。要讓Hadoop走得更遠(yuǎn),未來YARN需要做的工作還很多。 另一方面大數(shù)據(jù)的安全和隱私越來越多的受到關(guān)注。Hadoop依靠且僅依靠Kerberos來實(shí)現(xiàn)安全機(jī)制,但每一個(gè)組件都將進(jìn)行自己的驗(yàn)證和授權(quán)策略。開源社區(qū)似乎從來不真正關(guān)心安全問題,如果不使用來自Hortonworks的Ranger或來自Cloudera 的Sentry這樣的組件,那么大數(shù)據(jù)平臺(tái)基本上談不上安全可靠。 Cloudera剛推出的RecordService組件使得Sentry在安全競賽中拔得先機(jī)。RecordService不僅提供了跨所有組件一致的安全顆粒度,而且提供了基于Record的底層抽象(有點(diǎn)像Spring,代替了原來Kite SDK的作用),讓上層的應(yīng)用和下層存儲(chǔ)解耦合的同時(shí)、提供了跨組件的可復(fù)用數(shù)據(jù)模型。 計(jì)算引擎層 Hadoop生態(tài)和其他生態(tài)最大的不同之一就是“單一平臺(tái)多種應(yīng)用”的理念了。傳的數(shù)據(jù)庫底層只有一個(gè)引擎,只處理關(guān)系型應(yīng)用,所以是“單一平臺(tái)單一應(yīng)用”;而NoSQL市場有上百個(gè)NoSQL軟件,每一個(gè)都針對不同的應(yīng)用場景且完全獨(dú)立,因此是“多平臺(tái)多應(yīng)用”的模式。而Hadoop在底層共用一份HDFS存儲(chǔ),上層有很多個(gè)組件分別服務(wù)多種應(yīng)用場景,如:
其中,最耀眼的就是Spark了。IBM宣布培養(yǎng)100萬名Spark開發(fā)人員,Cloudera在One Platform倡議中宣布支持Spark為Hadoop的缺省通用任務(wù)執(zhí)行引擎,加上Hortonworks全力支持Spark,我們相信Spark將會(huì)是未來大數(shù)據(jù)分析的核心。 雖然Spark很快,但現(xiàn)在在生產(chǎn)環(huán)境中仍然不盡人意,無論擴(kuò)展性、穩(wěn)定性、管理性等方面都需要進(jìn)一步增強(qiáng)。同時(shí),Spark在流處理領(lǐng)域能力有限,如果要實(shí)現(xiàn)亞秒級(jí)或大容量的數(shù)據(jù)獲取或處理需要其他流處理產(chǎn)品。Cloudera宣布旨在讓Spark流數(shù)據(jù)技術(shù)適用于80%的使用場合,就考慮到了這一缺陷。我們確實(shí)看到實(shí)時(shí)分析(而非簡單數(shù)據(jù)過濾或分發(fā))場景中,很多以前使用S4或Storm等流式處理引擎的實(shí)現(xiàn)已經(jīng)逐漸Kafka+Spark Streaming代替。 Spark的流行將逐漸讓MapReduce、Tez走進(jìn)博物館。 服務(wù)層 服務(wù)層是包裝底層引擎的編程API細(xì)節(jié),對業(yè)務(wù)人員提供更高抽象的訪問模型,如Pig、Hive等。 而其中最炙手可熱的就是OLAP的SQL市場了?,F(xiàn)在,Spark有70%的訪問量來自于SparkSQL!SQL on Hadoop到底哪家強(qiáng)?Hive、Facebook的Pheonix、Presto、SparkSQL、Cloudera推的Impala、MapR推的Drill、IBM的BigSQL、還是Pivital開源的HAWQ? 這也許是碎片化最嚴(yán)重的地方了,從技術(shù)上講幾乎每個(gè)組件都有特定的應(yīng)用場景,從生態(tài)上講各個(gè)廠家都有自己的寵愛,因此Hadoop上SQL引擎已經(jīng)不僅僅是技術(shù)上的博弈(也因此考慮到本篇中立性,此處不做評(píng)論)??梢杂鲆姷氖?,未來所有的SQL工具都將被整合,有些產(chǎn)品已經(jīng)在競爭鐘逐漸落伍,我們期待市場的選擇。 周邊的工具更是百花齊放,最重要的莫過于可視化、任務(wù)管理和數(shù)據(jù)管理了。 有很多開源工具都支持基于Hadoop 的查詢程序編寫以及即時(shí)的圖形化表示,如HUE、Zeppelin等。用戶可以編寫一些SQL或Spark代碼以及描述代碼的一些標(biāo)記,并指定可視化的模版,執(zhí)行后保存起來,就可供其他人復(fù)用,這鐘模式也被叫做“敏捷BI”。這個(gè)領(lǐng)域的商業(yè)產(chǎn)品更是競爭激烈,如Tableau、Qlik等。 調(diào)度類工具的鼻祖Oozie能實(shí)現(xiàn)幾個(gè)MapReduce任務(wù)串連運(yùn)行的場景,后來的Nifi及Kettle等其他工具則提供了更加強(qiáng)大的調(diào)度實(shí)現(xiàn),值得一試。 毫無疑問,相對與傳統(tǒng)的數(shù)據(jù)庫生態(tài),Hadoop的數(shù)據(jù)治理相對簡單。Atlas是Hortonworks新的數(shù)據(jù)治理工具,雖然還談不上完全成熟,不過正取得進(jìn)展。Cloudera的Navigator是Cloudera商業(yè)版本的核心,匯聚了生命周期管理、數(shù)據(jù)溯源、安全、審計(jì)、SQL遷移工具等一系列功能。Cloudera收購Explain.io以后將其產(chǎn)品整合為Navigator Optimizator組件,能幫助用戶把傳統(tǒng)的SQL應(yīng)用遷移到Hadoop平臺(tái)并提供優(yōu)化建議,可以節(jié)省數(shù)人月的工作量。 算法及機(jī)器學(xué)習(xí) 實(shí)現(xiàn)基于機(jī)器學(xué)習(xí)的自動(dòng)的智能化數(shù)據(jù)價(jià)值挖掘是大數(shù)據(jù)和Hadoop最誘人的愿景了,也是很多企業(yè)對大數(shù)據(jù)平臺(tái)的最終期望。隨著可獲得的數(shù)據(jù)越來越多,未來大數(shù)據(jù)平臺(tái)的價(jià)值更多的取決于其計(jì)算人工智能的程度。 現(xiàn)在機(jī)器學(xué)習(xí)正慢慢跨出象牙塔,從一個(gè)少部分學(xué)術(shù)界人士研究的科技課題變成很多企業(yè)正在驗(yàn)證使用的數(shù)據(jù)分析工具,而且已經(jīng)越來越多的進(jìn)入我們的日常生活。 機(jī)器學(xué)習(xí)的開源項(xiàng)目除了之前的Mahout、MLlib、Oryx等,今年發(fā)生了很多令人矚目的大事,迎來了數(shù)個(gè)明星巨頭的重磅加入:
現(xiàn)在使用Hadoop的企業(yè)以及靠Hadoop賺錢的企業(yè)已經(jīng)成千上萬。幾乎大的企業(yè)或多或少的已經(jīng)使用或者計(jì)劃嘗試使用Hadoop技術(shù)。就對Hadoop定位和使用不同,可以將Hadoop業(yè)界公司劃分為四類:
時(shí)至今日,Hadoop雖然在技術(shù)上已經(jīng)得到驗(yàn)證、認(rèn)可甚至已經(jīng)到了成熟期。其中最能代表Hadoop發(fā)展軌跡的莫過于商業(yè)公司推出的Hadoop發(fā)行版了。自從2008年Cloudera成為第一個(gè)Hadoop商業(yè)化公司,并在2009年推出第一個(gè)Hadoop發(fā)行版后,很多大公司也加入了做Hadoop產(chǎn)品化的行列。 “發(fā)行版”這個(gè)詞是開源文化特有的符號(hào),看起來任何一個(gè)公司只要將開源代碼打個(gè)包,再多多少少加個(gè)佐料就能有一個(gè)“發(fā)行版”,然而背后是對海量生態(tài)系統(tǒng)組件的價(jià)值篩選、兼容和集成保證以及支撐服務(wù)。
Cloudera提出了Hybrid Open Source的架構(gòu):核心組件名稱叫CDH(Cloudera's Distribution including Apache Hadoop),開源免費(fèi)并與Apache社區(qū)同步,用戶無限制使用,保證Hadoop基本功能持續(xù)可用,不會(huì)被廠家綁定;數(shù)據(jù)治理和系統(tǒng)管理組件閉源且需要商業(yè)許可,支持客戶可以更好更方便的使用Hadoop技術(shù),如部署安全策略等。Cloudera也在商業(yè)組件部分提供在企業(yè)生產(chǎn)環(huán)境中運(yùn)行Hadoop所必需的運(yùn)維功能,而這些功能并不被開源社區(qū)所覆蓋,如無宕機(jī)滾動(dòng)升級(jí)、異步災(zāi)備等。 Hortonworks采用了100%完全開源策略,產(chǎn)品名稱為HDP(Hortonworks Data Platform)。所有軟件產(chǎn)品開源,用戶免費(fèi)使用,Hortonworks提供商業(yè)的技術(shù)支持服務(wù)。與CDH相比,管理軟件使用開源Ambari,數(shù)據(jù)治理使用Atlas,安全組件使用Ranger而非Sentry,SQL繼續(xù)緊抱Hive大腿。 MapR采用了傳統(tǒng)軟件廠商的模式,使用私有化的實(shí)現(xiàn)。用戶購買軟件許可后才能使用。其OLAP產(chǎn)品主推Drill,又不排斥Impala。 現(xiàn)在主流的公有云如AWS、Azure等都已經(jīng)在原有提供虛擬機(jī)的IaaS服務(wù)之外,提供基于Hadoop的PaaS云計(jì)算服務(wù)。未來這塊市場的發(fā)展將超過私有Hadoop部署。 Hadoop平臺(tái)釋放了前所未有的計(jì)算能力,同時(shí)大大降低了計(jì)算成本。底層核心基礎(chǔ)架構(gòu)生產(chǎn)力的發(fā)展,必然帶來的是大數(shù)據(jù)應(yīng)用層的迅速建立。 對于Hadoop上的應(yīng)用大致可以分為這兩類: IT優(yōu)化 將已經(jīng)實(shí)現(xiàn)的應(yīng)用和業(yè)務(wù)搬遷到Hadoop平臺(tái),以獲得更多的數(shù)據(jù)、更好的性能或更低的成本。通過提高產(chǎn)出比、降低生產(chǎn)和維護(hù)成本等方式為企業(yè)帶來好處。 這幾年Hadoop在數(shù)個(gè)此類應(yīng)用場景中已經(jīng)被證明是非常適合的解決方案,包括:
經(jīng)常被問到的一個(gè)問題就是,Hadoop是否可以代替數(shù)據(jù)倉庫,或者說企業(yè)是否可以使用免費(fèi)的Hadoop來避免采購昂貴的數(shù)據(jù)倉庫產(chǎn)品。數(shù)據(jù)庫界的泰斗Mike Stonebroker在一次技術(shù)交流中說:數(shù)據(jù)倉庫和Hadoop所針對的場景重合型非常高,未來這兩個(gè)市場一定會(huì)合并。 我們相信在數(shù)據(jù)倉庫市場Hadoop會(huì)遲早替代到現(xiàn)在的產(chǎn)品,只不過,那時(shí)候的Hadoop已經(jīng)又不是現(xiàn)在的樣子了。就現(xiàn)在來講,Hadoop還只是數(shù)據(jù)倉庫產(chǎn)品的一個(gè)補(bǔ)充,和數(shù)據(jù)倉庫一起構(gòu)建混搭架構(gòu)為上層應(yīng)用聯(lián)合提供服務(wù)。 業(yè)務(wù)優(yōu)化 在Hadoop上實(shí)現(xiàn)原來尚未實(shí)現(xiàn)的算法、應(yīng)用,從原有的生產(chǎn)線中孵化出新的產(chǎn)品和業(yè)務(wù),創(chuàng)造新的價(jià)值。通過新業(yè)務(wù)為企業(yè)帶來新的市場和客戶,從而增加企業(yè)收入。 Hadoop提供了強(qiáng)大的計(jì)算能力,專業(yè)大數(shù)據(jù)應(yīng)用已經(jīng)在幾乎任何垂直領(lǐng)域都很出色,從銀行業(yè)(反欺詐、征信等)、醫(yī)療保?。ㄌ貏e是在基因組學(xué)和藥物研究),到零售業(yè)、服務(wù)業(yè)(個(gè)性化服務(wù)、智能服務(wù),如UBer的自動(dòng)派車功能等)。 在企業(yè)內(nèi)部,各種工具已經(jīng)出現(xiàn),以幫助企業(yè)用戶操作核心功能。例如,大數(shù)據(jù)通過大量的內(nèi)部和外部的數(shù)據(jù),實(shí)時(shí)更新數(shù)據(jù),可以幫助銷售和市場營銷弄清楚哪些客戶最有可能購買??蛻舴?wù)應(yīng)用可以幫助個(gè)性化服務(wù); HR應(yīng)用程序可幫助找出如何吸引和留住最優(yōu)秀的員工等。 為什么Hadoop如此成功?這個(gè)問題似乎是個(gè)馬后炮,但當(dāng)我們今天驚嘆于Hadoop在短短10年時(shí)間取得如此統(tǒng)治性地位的時(shí)候,確實(shí)會(huì)自然而然地思考為什么這一切會(huì)發(fā)生。基于與同期其他項(xiàng)目的比較,我們認(rèn)為有很多因素的綜合作用造就了這一奇跡:
下一代分析平臺(tái) 過去的十年中Apache Hadoop社區(qū)以瘋狂的速度發(fā)展,現(xiàn)在儼然已經(jīng)是事實(shí)上的大數(shù)據(jù)平臺(tái)標(biāo)準(zhǔn)。但仍有更多的工作要做!大數(shù)據(jù)應(yīng)用未來的價(jià)值在于預(yù)測,而預(yù)測的核心是分析。下一代的分析平臺(tái)會(huì)是什么樣呢?它必定會(huì)面臨、同時(shí)也必須要解決以下的問題:
因此,未來的幾年,我們會(huì)繼續(xù)見證“后Hadoop時(shí)代”的下一代企業(yè)大數(shù)據(jù)平臺(tái):
10年以后的Hadoop應(yīng)該只是一個(gè)生態(tài)和標(biāo)準(zhǔn)的“代名詞”了,下層的存儲(chǔ)層不只是HDFS、HBase和Kudu等現(xiàn)有的存儲(chǔ)架構(gòu),上層的處理組件更會(huì)像app store里的應(yīng)用一樣多,任何第三方都可以根據(jù)Hadoop的數(shù)據(jù)訪問和計(jì)算通信協(xié)議開發(fā)出自己的組件,用戶在市場中根據(jù)自己數(shù)據(jù)的使用特性和計(jì)算需求選擇相應(yīng)的組件自動(dòng)部署。 當(dāng)然,有一些明顯的趨勢必然影響著Hadoop的前進(jìn):
現(xiàn)在50%的大數(shù)據(jù)任務(wù)已經(jīng)運(yùn)行在云端,在3年以后這個(gè)比例可能會(huì)上升到80%。Hadoop在公有云的發(fā)展要求更加有保障的本地化支持。
快速硬件的進(jìn)步會(huì)迫使社區(qū)重新審視Hadoop的根基,Hadoop社區(qū)絕不會(huì)袖手旁觀。
物聯(lián)網(wǎng)的發(fā)展會(huì)帶來海量的、分布的和分散的數(shù)據(jù)源。Hadoop將適應(yīng)這種發(fā)展。 以后的十年會(huì)發(fā)生什么?以下是筆者的一些猜想:
現(xiàn)在Hadoop儼然已經(jīng)成為企業(yè)數(shù)據(jù)平臺(tái)的“新常態(tài)”。我們很榮幸能夠見證Hadoop十年從無到有,再到稱王。在我們感動(dòng)于技術(shù)的日新月異時(shí),希望能通過本文能為Hadoop的昨天、今天和明天做出一點(diǎn)自己的解讀,算是為Hadoop慶祝10歲生日獻(xiàn)上的禮物。 |
|