一、 三副本策略
三副本策略的含義
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 的策略來改進資料的可靠性 ...