• <menu id="w2i4a"></menu>
  • logo Hadoop教程

    文檔首頁>>Hadoop教程>>Hadoop教程:Hadoop在大數(shù)據(jù)中的角色

    Hadoop教程:Hadoop在大數(shù)據(jù)中的角色


    Hadoop和大數(shù)據(jù)的關(guān)系

    Henry和我正在進(jìn)行一項(xiàng)檢查大數(shù)據(jù)以及其真正意義的工作。大數(shù)據(jù)是一個(gè)流行語。和許多流行語一樣,大數(shù)據(jù)這個(gè)詞用得有些濫了,但是它包含了一些真正的有用性和技術(shù)。我們決定在這個(gè)主題上對(duì)大數(shù)據(jù)進(jìn)行一番分析,努力挖掘其中的真實(shí)性以及它們對(duì)存儲(chǔ)解決方案的意義。

    Henry用一個(gè)很好的介紹開始了這個(gè)系列。他對(duì)大數(shù)據(jù)的定義是我所見過的最好的定義。因此,我將重復(fù)這個(gè)定義:

    大數(shù)據(jù)是將數(shù)據(jù)變?yōu)樾畔⑷缓笞優(yōu)橹R(shí)的過程。

    這個(gè)定義很恰當(dāng),因?yàn)樾稳菰~“大”可以表達(dá)很多種意思。一些人將“大”想象成他們所專注的領(lǐng)域中的意思,而我們則專注于你可以在這個(gè)數(shù)據(jù)上做什么以及為什么。

    Henry和我決定用兩個(gè)部分來進(jìn)行這個(gè)討論。Henry從最基本的硬件本身開始,然后向上討論堆棧。更準(zhǔn)確的是,他想知道的是硬件的哪些方面對(duì)大數(shù)據(jù)而言很重要,以及哪些技術(shù)是重要的。我則從大數(shù)據(jù)堆棧的頂端開始,也就是應(yīng)用程序,然后向下討論堆棧。我們將在中間某處會(huì)合,然后將我們的想法和評(píng)論歸納到最終的一篇文章中。

    從頂端開始并不容易,我原來的文章變得很長。因此,我們一起決定將它分成三個(gè)部分。第一個(gè)部分從討論堆棧頂端的一些基本問題開始,包括將數(shù)據(jù)引入到存儲(chǔ)系統(tǒng)以供使用的重要性(這個(gè)部分比大部分人所認(rèn)識(shí)到的還要重要)。它還討論了大數(shù)據(jù)最常見的工具——NoSQL數(shù)據(jù)庫。第二個(gè)部分分析了8個(gè)使用于大數(shù)據(jù)并影響存儲(chǔ)的NoSQL數(shù)據(jù)庫類型。最后一個(gè)關(guān)于堆棧頂端的部分則將討論Hadoop在大數(shù)據(jù)中的角色以及所有這些東西是如何聯(lián)系到R這樣的分析工具。

    與Hadoop的聯(lián)系

    在以前的文章中所提到過的所有的數(shù)據(jù)庫都需要一個(gè)地方來存儲(chǔ)它們的數(shù)據(jù),同時(shí)性能也是它們的一個(gè)重要組成部分。我們所提到過的一些工具與將Hadoop作為存儲(chǔ)平臺(tái)有聯(lián)系。Hadoop實(shí)際上不是一個(gè)文件系統(tǒng),實(shí)際上,它是一個(gè)軟件框架,支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用程序,比如這里所討論的一些以及以前的文章所討論過的一些應(yīng)用程序。在與MapReduce在一起協(xié)同工作的時(shí)候,Hadoop可以成為一個(gè)針對(duì)數(shù)據(jù)密集型應(yīng)用程序的非常有效的解決方案。

    Hadoop File System(HDFS:Hadoop文件系統(tǒng))是一個(gè)發(fā)端于谷歌文件系統(tǒng)(GFS:Google File System)的開源文件系統(tǒng)。但是,GFS是谷歌專用的。Hadoop是用Java編寫的,是一個(gè)分布式文件系統(tǒng),是真正的元文件系統(tǒng)——換句話說,是一個(gè)可以作用于底層文件系統(tǒng)頂端的文件系統(tǒng)。它的設(shè)計(jì)旨在成為一個(gè)容錯(cuò)的文件系統(tǒng),讓數(shù)據(jù)的副本可以存儲(chǔ)在文件系統(tǒng)內(nèi)不同的地點(diǎn)上,因此從錯(cuò)誤的數(shù)據(jù)副本或宕機(jī)的服務(wù)器中恢復(fù)數(shù)據(jù)就變得相當(dāng)容易。不過,這些副本也可以用于改善性能。

    Hadoop的基本構(gòu)建塊就是所謂的“datanode”(數(shù)據(jù)節(jié)點(diǎn))。這是一個(gè)一臺(tái)服務(wù)器與一些存儲(chǔ)和網(wǎng)絡(luò)的組合。存儲(chǔ)通常是服務(wù)器內(nèi)部的或直接 連接到服務(wù)器的存儲(chǔ)(DAS)。每個(gè)datanode使用專門的面向HDFS的塊協(xié)議來在網(wǎng)絡(luò)(以太網(wǎng))上提供數(shù)據(jù)。一定數(shù)量的datanode分布在多 個(gè)機(jī)架上,而每個(gè)datanode可以通過它所在機(jī)架被部分識(shí)別。Hadoop還有元數(shù)據(jù)服務(wù)器,即所謂的“Namenode”(命名節(jié)點(diǎn))。 Namenode同時(shí)也是HDFS的管理節(jié)點(diǎn)。此外,HDFS還有二級(jí)Namenode,不過它不是故障復(fù)原元數(shù)據(jù)服務(wù)器,而是用于其他文件系統(tǒng)任務(wù),比 如快照主Namenode的目錄信息以幫助減少宕機(jī)時(shí)間——如果一個(gè)Namenode發(fā)生故障的話。由于只有一個(gè)Namenode,它可能會(huì)成為一個(gè)潛在 的瓶頸或HDFS的單故障點(diǎn)。

    HDFS的一個(gè)重要特點(diǎn)就是數(shù)據(jù)復(fù)制到多個(gè)datanode上以幫助提高彈性。HDFS缺省情況下會(huì)將三個(gè)數(shù)據(jù)副本存儲(chǔ)在不同的datanode 上。兩個(gè)副本是在同一個(gè)機(jī)架上,另一個(gè)在不同的機(jī)架上(因此,即使一個(gè)機(jī)架壞了,你還可以訪問你的數(shù)據(jù))。你可以在那些擁有所需數(shù)據(jù)的datanode上 ——缺省情況下?lián)碛袛?shù)據(jù)副本的三個(gè)datanode之一——運(yùn)行制定好的任務(wù)(注意,這些datanode在存儲(chǔ)數(shù)據(jù)和提供數(shù)據(jù)的同時(shí)也可以運(yùn)行任務(wù))。

    這就是許多人所指的:“將任務(wù)移到數(shù)據(jù)上,而不是將數(shù)據(jù)移到任務(wù)上”。這樣做可以減少數(shù)據(jù)遷移,減少網(wǎng)絡(luò)負(fù)擔(dān),因?yàn)閿?shù)據(jù)不用遷移來遷移去以運(yùn)行任 務(wù)。一旦任務(wù)開始運(yùn)行,所有的數(shù)據(jù)訪問都是本地進(jìn)行的,因此不需要datanode條帶化或使用多個(gè)數(shù)據(jù)服務(wù)器來滿足并行數(shù)據(jù)訪問。Hadoop的并行性 體現(xiàn)在應(yīng)用程序的性能上,同一個(gè)應(yīng)用程序的多個(gè)副本可以被同時(shí)運(yùn)行并訪問不同的數(shù)據(jù)集。此外,由于你有三個(gè)數(shù)據(jù)副本,你可以在同一時(shí)間運(yùn)行三個(gè)人物來訪問 同一個(gè)文件,因此性能也得到了改善。

    在后端,datanode可以和其他datanode通信,使用RPC(遠(yuǎn)程過程調(diào)用)來執(zhí)行一系列任務(wù):

    1. 在遵守?cái)?shù)據(jù)復(fù)制規(guī)定的前提下,實(shí)現(xiàn)datanode之間的容量均衡;
    2. 互相之間比較文件,以便用正確的副本覆蓋損壞的文件副本;
    3. 檢查數(shù)據(jù)副本的數(shù)量,如果必要,增加額外副本;
    4. 需要注意的是HDFS不是一個(gè)POSIX(可移植操作系統(tǒng)接口)兼容文件系統(tǒng),這主要是因?yàn)樾阅芸梢蕴岣摺?/li>

    如果你使用Java API(應(yīng)用程序編程接口)、Thrift API、命令行界面或在HTTP上通過HDFS-UI界面瀏覽,在HDFS中訪問數(shù)據(jù)還是相當(dāng)簡單的。除了這個(gè),在操作系統(tǒng)上直接載入HDFS是不行的。唯一的解決方案是使用Linux FUSE客戶端來加載文件系統(tǒng)。

    記住,Hadoop是基于谷歌文件系統(tǒng)(GFS)的,后者是用來支持谷歌的BigTable,而BigTable是面向列的數(shù)據(jù)庫。因此,Hadoop更可能支持前文所提到的那些Column Store工具。在此前提到的工具中,許多工具已經(jīng)開發(fā)了面向Hadoop的界面,因此它們可以利用Hadoop來存儲(chǔ)數(shù)據(jù)。

    來源:存儲(chǔ)在線

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();