【簡介】Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。
一、解釋下什麼是Apache基金會?
答:Apache軟件基金會(也就是Apache Software Foundation,簡稱爲ASF),是專門爲支持開源軟件項目而辦的一個非盈利性組織。在它所支持的Apache項目與子項目中,所發行的軟件產品都遵循Apache許可證(Apache License)。
【做用】
Hadoop實現了一個分佈式文件系統HDFS。HDFS有高容錯性的特色,而且設計用來部署在低廉的硬件上,並且它提供高吞吐量來訪問應用程序數據,適合超大數據集的應用程序。
Hadoop的框架嘴和新的設計師:HDFS(海量數據存儲)和MapReduce(爲海量數據存儲提供計算)。
【核心】
①Hadoop最底部是HDFS,它存儲Hadoop集羣中全部階段上的文件。
②HDFS的上一層是MapReduce,由job 和task組成。
③經過HDFS和MapReduce處理過程,以及數據倉庫工具Hive和分佈式數據庫Hbase。
二、解釋下HDFS?
答:對於外部客戶機而言,HDFS像傳統的分級文件系統,能夠建立、刪除、移動或重命名文件等。
HDFS的架構基於一組特定的節點構建的,這些節點包括 :
NameNode(僅一個),它在 HDFS 內部提供元數據服務,是一個一般在 HDFS 實例中的單獨機器上運行的軟件,負責管理文件系統名稱空間和控制外部客戶機的訪問。它決定是否將恩建映射到同一架構的不一樣節點上。
DataNode,它爲 HDFS 提供存儲塊。存儲在其中的文件被分紅塊,而後將這些塊複製到多個計算機中(DataNode)。內部全部的通訊都基於標準TCP/IP協議。DataNode也是一個一般在HDFS實例中單獨機器上運行的軟件。Hadoop集羣包含一個NameNode和大量的DataNode。DataNode以機架的形式組織,機架經過一個交換機將全部的系統鏈接起來。
三、解釋一下,利用HDFS進行文件操做?
答:
①HDFS並非一個萬能的文件系統,它主要目的是以流的形式訪問寫入的大型文件。
②若是客戶機將文件寫入到HDFS上,首先須要將文件緩存到本地的臨時存儲位置。
③若是緩存的數據大於所需的HDFS塊大小,建立文件的請求將發送給NameNode。NameNode將以DataNode標識和目標塊響應客戶機。
④同時也通知將要保存文件塊副本的DataNode。當客戶機開始臨時文件發送給第一個DataNode時,將當即經過管道方式將塊內容轉發給副本DataNode。
⑤客戶機負責建立保存相同HDFS名稱空間的校驗和文件。在最後的文件塊發送以後,NameNode將文件建立提交到它的持久化元數據存儲。
四、Hadoop在實際中的而應用?
答:Hadoop技術普遍應用於互聯網,如雅虎使用4000個節點的Hadoop集羣來支持廣告系統和web搜索;
Facebook使用1000個節點的Hadoop集羣來存儲日式,支持數據分析和機器學習;
百度用Hadoop處理每週200Tb的數據,從而進行搜索日誌分析和網頁數據挖掘;
淘寶的Hadoop系統用於存儲並處理電子商務交易相關的數據。
五、MapReduce與Hadoop比較?
答:
Hadoop是一種分佈式數據和計算的框架。它很擅長存儲大量的半結構化的數據集。數據能夠隨機存放,因此一個磁盤的失敗並不會帶來數據丟失。Hadoop也很是擅長分佈式計算——快速地跨多臺機器處理大型數據集合 。
MapReduce是處理大量半結構化數據集合的編程模型。編程模型是一種處理並結構化特定問題的方式。
六、HDFS基本原理是什麼?
答:
①HDFS存儲數據時,先將數據切成塊,併爲塊分配一個有序編號;
②進行數據備份;
③將複製的備份放在不一樣的DataNode中;
④當DataNode宕機時,NameNode獎DataNode上存放的副本複製;
⑤從而使NameNode保持對DataNode的管理(是心動【節點狀態】啊,糟糕眼神【節點存儲的數據】躲不掉,對你莫名的心跳);web