摘要: 大數據時代來了。當所有人都爭吵著這件事情的時候,當所有企業都看好大數據的發展前景的時候,卻都很少關注這些數據從哪兒來,我們有沒有足夠優秀的技術能力處理這些數據。......
網絡的發展無疑為我們迎接大數據時代、智能計算時代鋪好了路。根據研究公司的預測,全球聯網設備正在增加,在部分國家,人均聯網設備早已超過2台;如此大量的聯網設備和不斷提高的網絡速度都在讓社會的數據量快速增長,智慧城市、平安城市的實現也是以視頻監控等視頻數據為基礎,成為大數據時代的重要組成部分。
機器人、AI、機器學習的研究讓數據成為未來輔助我們生活的必要因素,無人車、機器人快遞等形式的出現, 一方面體現了數據價值,另一方面也是在不斷收集數據,反哺數據分析和應用。
數據體量太大誰來處理?
數據產生後,意味著數據的採集工作已經完成,那麼數據的輸入與有效輸出問題怎麼破解?自大數據時代到來之後,分佈式存儲、大文件的讀寫都成為熱點話題,如何應對越來越多的大文件存儲、分析與檢索,成為企業需要攻克的難題。
而Hadoop的原型要從2002年開始說起。Hadoop的雛形始於2002年的Apache的Nutch,Nutch是一個開源Java 實現的搜索引擎。而後根據谷歌發表的學術淪為谷歌文件系統(GFS),實現了分佈式文件存儲系統名為NDFS。而後又根據Google發表的一篇技術學術論文MapReduce,在Nutch搜索引擎實現了用於大規模數據集(大於1TB)的並行分析運算。最後,雅虎僱用了Doug Cutting,Doug Cutting將NDFS和MapReduce升級命名為Hadoop,HDFS(Hadoop Distributed File System,Hadoop分佈式文件系統)就此形成。
應該說Hadoop是針對大數據而存在的,HDFS能夠提供高吞吐量的數據訪問,適合有著超大規模數據集的應用程序。我們可以在Hadoop的設計中看到三大特點:適用於存儲超大文件、適合運行在普通廉價的服務器上,同時,最搞笑的訪問模式是一次寫入、多次讀取。
當然,HDFS也存在一些弊端,比如說不適用於有低延遲要求的應用場景。因為Hadoop是針對大數據傳輸的存在,是為高數據吞吐量應用而設計,這導致其必然要以高延遲作為代價。同時HDFS分佈式存儲不適用於小文件傳輸,在大量小文件傳輸過程中,namenode的內存就吃不消了。
2、Hadoop概念科普
在了解了Hadoop的身世和現在適合的應用場景之後,筆者要跟大家科普一下Hadoop的基礎架構和主要概念。
NameNode: namenode負責管理文件目錄、文件和block的對應關係以及block和datanode的對應關係。這是由唯一一台主機專門保存,當然這台主機如果出錯,NameNode就失效了,需要啟動備用主機運行NameNode。
DataNode:負責存儲,當然大部分容錯機制都是在datanode上實現的。分佈在廉價的計算機上,用於存儲Block塊文件。
MapReduce:通俗說MapReduce是一套從海量·源數據提取分析元素最後返回結果集的編程模型,將文件分佈式存儲到硬盤是第一步,而從海量數據中提取分析我們需要的內容就是MapReduce做的事了。
Block:也叫作數據塊,默認大小為64MB。每一個block會在多個datanode上存儲多份副本,默認是3份。
Rack:機櫃,一個block的三個副本通常會保存到兩個或者兩個以上的機櫃中。
......
轉貼自: 36大數據
留下你的回應
以訪客張貼回應