目錄:html
1.hadoop入門須知mysql
2.hadoop環境搭建sql
3.hadoop mapreduce之WordCount例子數據庫
1)基本介紹數據結構
2)名詞解釋:架構
Hadoop | 中文 | 相關解釋 | |
NameNode | Master | 主控服務器 | 整個文件系統的大腦,它提供整個文件系統的目錄信息,而且管理各個數據服務器 |
Secondary | 無 | 備份主控服務器 | 備用的主控服務器,在身後默默的拉取着主控服務器的日誌,等待主控服務器犧牲後轉正。 |
DataNode | Chunk | 數據服務器 | 分佈式文件系統中的每個文件,都被切分陳若干數據塊,每個數據塊都被存儲在不一樣的服務器上,這些服務器稱之爲數據服務器。 |
Block | Chunk | 數據塊 | 每一個文件都會被切分陳若干塊,每一塊都有連續的一段文件內容,是存儲的基本單位,在這裏統一稱做數據塊。 |
Packet | 無 | 數據包 | 客戶端寫文件的時候,不是一個字節一個字節寫入文件系統的,而是累計到必定數量後,往文件系統中寫入,每發送一次的數據,都稱爲一個數據包。 |
Chunk | 無 | 傳輸塊 | 將數據切成更小的塊,每個塊配上一個奇偶校檢碼,這樣的塊,就是傳輸塊。 |
JobTracker | Master | 做業服務器 | 用戶提交做業的服務器,同時,它還負責各個做業任務分配,管理全部的任務服務器 |
TaskTracker | Worker | 任務服務器 | 負責執行具體的任務 |
Job | Job | 做業 | 用戶的每個計算請求,稱爲一個做業 |
Task | Task | 任務 | 每個做業,都須要拆分開了,而後交由多個服務器來完成,拆分出來的執行單元,就稱之爲任務 |
Speculative Task | Backup Task | 備份任務 | 每個任務,都有可能執行失敗或者緩慢,爲了下降爲此付出的代價,系統會未雨綢繆的實如今另外的任務服務器上執行同一個任務,這就是備份任務 |
Slot | 無 | 插槽 | 一個任務服務器可能有多個插槽,每一個插槽負責執行一個具體的任務 |
一、Hadoop Common :Hadoop體系最底層的一個模塊,爲Hadoop各子項目提供各類工具,如:配置文件和日誌操做等。 框架
二、HDFS:分佈式文件系統,提供高吞吐量的應用程序數據訪問,對外部客戶機而言,HDFS 就像一個傳統的分級文件系統。能夠建立、刪除、移動或重命名文件,等等。可是 HDFS 的架構是基於一組特定的節點構建的(參見圖 1),這是由它自身的特色決定的。這些節點包括 NameNode(僅一個),它在 HDFS 內部提供元數據服務;DataNode,它爲 HDFS 提供存儲塊。因爲僅存在一個 NameNode,所以這是 HDFS 的一個缺點(單點失敗)。 ssh
3. 存儲在 HDFS 中的文件被分紅塊,而後將這些塊複製到多個計算機中(DataNode)。這與傳統的 RAID 架構大不相同。塊的大小(一般爲 64MB)和複製的塊數量在建立文件時由客戶機決定。NameNode 能夠控制全部文件操做。HDFS 內部的全部通訊都基於標準的 TCP/IP 協議。
四、Avro :doug cutting主持的RPC項目,主要負責數據的序列化。有點相似Google的protobuf和Facebook的thrift。avro用來作之後hadoop的RPC,使hadoop的RPC模塊通訊速度更快、數據結構更緊湊。
五、Hive :相似CloudBase,也是基於hadoop分佈式計算平臺上的提供data warehouse的sql功能的一套軟件。使得存儲在hadoop裏面的海量數據的彙總,即席查詢簡單化。hive提供了一套QL的查詢語言,以sql爲基礎,使用起來很方便。
六、HBase :基於Hadoop Distributed File System,是一個開源的,基於列存儲模型的可擴展的分佈式數據庫,HBase是一個面向列的數據庫,支持大型表的存儲結構化數據。
七、Pig :是一個並行計算的高級的數據流語言和執行框架 ,SQL-like語言,是在MapReduce上構建的一種高級查詢語言,把一些運算編譯進MapReduce模型的Map和Reduce中,而且用戶能夠定義本身的功能。
八、ZooKeeper :Google的Chubby一個開源的實現。它是一個針對大型分佈式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分佈式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
九、Chukwa :一個管理大型分佈式系統的數據採集系統 由yahoo貢獻。
十、Cassandra :無單點故障的可擴展的多主數據庫
十一、Mahout :一個可擴展的機器學習和數據挖掘庫
Hive和Hbase是兩種基於Hadoop的不一樣技術--Hive是一種類SQL的引擎,而且運行MapReduce任務,Hbase是一種在Hadoop之上的NoSQL 的Key/vale數據庫。固然,這兩種工具是能夠同時使用的。就像用Google來搜索,用FaceBook進行社交同樣,Hive能夠用來進行統計查詢,HBase能夠用來進行實時查詢,數據也能夠從Hive寫到Hbase,設置再從Hbase寫回Hive
3)必需條件
JDK1.6以上
SSH無密碼訪問(hadoop的使用,必須配置成ssh無密碼訪問):
解決方法:
root用戶下:
//移除密鑰文件 $ cd ~/.ssh $ rm -rf *.pub $ rm -rf authorized_keys //生成密鑰文件 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost後,而後能夠無密碼登陸了。 (使用cp id_dsa.pub authorized_keys方式也行,cp id_dsa.pub authorized_keys)
順便貼個圖:hadoop生態圈層次圖
ods:操做型數據存儲/運營數據倉儲
dw:數據倉庫
dm:數據模型