1、hdfs:hadoop分布式檔案系統
hdfs是乙個高度容錯性的系統,適合部署在廉價的機器上。
hdfs能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。
hdfs放寬了一部分posix約束,來實現流式讀取檔案系統資料的目的。
hdfs在最開始是作為apache nutch搜尋引擎專案的基礎架構而開發的。
hdfs是apache hadoop core專案的一部分。
2、hdfs架構
namenode:管理檔案系統的元資料
datanode:儲存實際的資料。讀寫都是呼叫datanode 的方法
3、讀操作
檔案內容讀取的**可以分為三個大步驟 。
1、獲取檔案系統
2、通過檔案系統開啟檔案
3、將檔案內容輸出
public
static
void
read(path path) throws ioexception
4、寫操作
第一台備份:寫在離客戶端最近的一台ip機器上
第二台備份:第一台ip機子的同乙個機架上
第三台備份:必須寫在與第一台ip機子不同的機架上
5、hdfs的檔案
fsimage–目錄結構
edits–日誌檔案(log)
secondnamenode對fsimage和edits的檔案操作。
6、hdfs不擅長的領域:
低時間延遲的資料訪問:不能處理實時性的資料 oltp(事務),olap(分析)
儲存大量的小檔案:處理的是大資料,資料越大,效率越高
多使用者寫入,任意修改檔案:處理的是歷史資料
7、hdfs -io 基於硬碟
spark 基於記憶體
基於記憶體的永遠是不可靠的
8、hdfs中檔案塊預設是64m
HDFS hadoop分布式檔案系統模型
檢視hdfs根目錄 hadoop fs ls 在根目錄建立乙個目錄test hadoop fs mkdir test 上傳檔案 hadoop fs put test.txt test 或 hadoop fs copyfromlocal test.txt test 檔案 hadoop fs get t...
三 HDFS Hadoop分布式檔案系統
一 hdfs的設計目標 1.1 硬體錯誤是常態而不是異常。hadoop的設計理念之一就是它可以執行在廉價的普通pc機上,因而硬體故障是常態。在硬體故障時,可通過容錯機制保證資料的正確性 完整性,從而保證系統的正常執行。1.2 大檔案儲存。hdfs儲存的檔案大小一般在gb tb的級別。1.3 流式資料...
分布式 分布式鎖
本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...