以下Hadoop的簡介是從百度百科上搜索到的,完全是爲了普及下概念知識,記錄下!
公司有DFS,看簡介跟HDFS很項,呵,想了解下
另外HBase,在09年第一個項目的數據庫設計時當時老大建議我把表設成按屬性例來存儲,但是終究還是存儲在數據庫,當時我沒有贊同! Hbase讓我有興趣去了解下。
Hadoop一個分佈式系統基礎架構。主要是由HDFS、MapReduce和Hbase組成。
HDFS是Google File System(GFS)的開源實現。
MapReduce是Google MapReduce的開源實現。
HBase是Google BigTable的開源實現。
Hadoop框架圖如下:
HDFS把節點分成兩類:NameNode和DataNode。NameNode是唯一的,程序與之通信,然後從DataNode上存取文件。這些操作是透明的,與普通的文件系統API沒有區別。
MapReduce則是JobTracker節點爲主,分配工作以及負責和用戶程序通信。
HDFS和MapReduce實現是完全分離的,並不是沒有HDFS就不能MapReduce運算。
Hadoop也跟其他
雲計算項目有共同點和目標:實現海量數據的計算。而進行海量計算需要一個穩定的,安全的數據容器,纔有了Hadoop分佈式文件系統(HDFS,Hadoop Distributed File System)。
HDFS通信部分使用org.apache.hadoop.ipc,可以很快使用RPC.Server.start()構造一個節點,具體業務功能還需自己實現。針對HDFS的業務則爲數據流的讀寫,NameNode/DataNode的通信等。
MapReduce主要在org.apache.hadoop.mapred,實現提供的接口類,並完成節點通信(可以不是hadoop通信接口),就能進行MapReduce運算。