HDFS 副本和認證

2021-08-11 02:11:39 字數 1177 閱讀 2597

一、 三副本策略

三副本策略的含義

1)如果寫請求方所在機器是其中乙個datanode,則直接存放在本地,否則隨機在集群中選擇乙個datanode

2)第二個副本存放在不同於第乙個副本所在的機架

3)第三個副本存放於第二個副本所在的機架,但是屬於不同的節點

三副本策略的使用

需要開啟機架感知功能,才能正常使用副本放置策略:

net.topology.script.file.name

/path/to/rackaware.py

以下命令可以得到檔案所屬塊的詳細位置資訊:

hdfs fsck -files -blocks -locations

二、 關於內部認證

內部認證機制的種類

blocktoken認證(基於令牌的塊級別粒度的驗證)和sasl認證

blocktoken認證

dfs.block.access.token.enable

true

該配置項預設為false狀態,如果啟用塊認證的功能,可能會對hdfs的塊併發讀寫效能造成影響。因為裡面有一些反序列化操作和很多認證操作,而且這些操作在每次的塊操作中都會進行。

內部認證機制之sasl認證

sasl認證,是一套公開的認證機制,全稱是****** authentication and securiyt layer(簡單認證與安全層)

在每次的資料傳輸中,客戶端與服務端都會進行一次握手(handshake),在sasl認證過程中,生成的使用者名稱、密碼都被base64編碼處理過,base64編碼的處理可以防止明文的暴露。

內部認證機制的對比

共同點:

① 沒有空間區域性的限制,都是資料全域性的認證

② 都會對資料讀寫效率造成一定程度的影響

不同點:

① 認證維度不同:

blocktoken認證的粒度較細,是針對塊級別的認證,會對每次的塊操作做認證。sasl則是對每次資料傳輸操作做認證

② 複雜性不同:
blocktoken的認證過程相對簡單、清晰。而sasl認證體系則複雜一些,會經過握手階段,而且中間還可以配置相關的認證防護級別(qop)的引數。論完整度而言,sasl比blocktoken更加完整化、體系化一些。

HDFS副本存放策略

第乙個block副本放在和client所在的node裡 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二個副本放置在與第乙個節點不同的機架中的node中 隨機選擇 第三個副本和第二個在同乙個機架,隨機放在不同的node中。如果還有更多的副本就隨機放在集群的node裡。流水線複製...

HDFS副本存放策略

資料分塊儲存和副本的存放,是保證可靠性和高效能的關鍵 將每個檔案的資料進行分塊儲存,每乙個資料塊又儲存有多個副本。這些資料塊副本分布在不同的機器節點上 設定備份數 方法一 配置檔案hdfs site.xml dfs.replication 3方法二 通過命令修改備份數 bin hadoop fs s...

HDFS資料副本存放策略

1.副本放置策略 第一副本 放置在上傳檔案的datanode上 如果是集群外提交,則隨機挑選一台磁碟不太慢 cpu不太忙的節點上 第二副本 放置在於第乙個副本不同的機架的節點上 第三副本 與第二個副本相同機架的不同節點上 hdfs採用一種稱為機架感知 rack aware 的策略來改進資料的可靠性 ...