hdfs通过接口退出安全模式_Hadoop之HDFS简介
奇技指南HDFS作為運行在通用硬件上的分布式文件系統,和現有的分布式文件系統既有很多的共同點,也存在很多的差異。本文從HDFS是什么開始介紹,包括了HDFS架構、HDFS的讀寫、各個組件的作用、具體操作以及優缺點。給出了HDFS在分布式存儲上的具體方案,可以使讀者快速、清晰的理解HDFS系統。。本文轉載自360云計算公眾號。作者:于桐
主要內容
引言
有這樣一個需求:
由于公司某業務mysql服務器過保,為防止數據丟失,需要備份mysql數據庫,這些庫目前已經只讀,每個庫約1.5T,大概有130個庫,共需要200T左右的空間,并且希望數據不易丟失,恢復數據速度快。
部分解決方案:
1)單機存儲
有如下問題:
2)分布式存儲
可選用分布式存儲,如HDFS、CEPH、S3等等。
HDFS是什么?是干什么用的?
HDFS(Hadoop Distributed File System)被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統。它和現有的分布式文件系統有很多共同點。但同時,它和其他的分布式文件系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。HDFS放寬了一部分POSIX約束,來實現流式讀取文件系統數據的目的。HDFS在最開始是作為Apache Nutch搜索引擎項目的基礎架構而開發的。HDFS是Apache Hadoop Core項目的一部分。
首先來看看Hadoop架構,HDFS為Hadoop其他組件提供存儲支持。
直觀對比Linux文件系統和HDFS文件系統(執行ls命令)。
Linux:
#ls -l-rw-r--r-- 1 root root 20 Jul 29 14:31 ms-server-download-zzzc_88888.idx-rw-r--r-- 1 root root 8 Jul 29 14:31 ms-server-download-zzzc_88888.datHDFS:
#hadoop fs -ls /tmp/-rw-r--r-- 2 xitong supergroup 181335139 2019-07-17 23:00 /tmp/java.tar.gz-rw-r--r-- 2 xitong supergroup 181335139 2019-07-17 23:00 /tmp/jdk.tar.gz可以看出HDFS和Linux文件系統很類似,都是有權限、文件所屬用戶、用戶所在的組、文件名稱等,但是也有不同:HDFS中的第2列表示副本數
HDFS的架構是怎么樣的?
HDFS架構如下:
HDFS怎樣進行讀寫
寫文件
讀文件
副本放置
以經典的3副本為例(黃色方框表示客戶端,綠色表示要寫的block),Hadoop早期版本采用左邊的放置策略,后期版本采用右邊的放置策略放置副本。
圖左:
- 副本1:同機架的不同節點。
- 副本2:同機架的另一個節點。
- 副本3:不同機架的另一個節點。
- 如果還有其他副本:隨機。
圖右:
- 副本1:同Client的節點。
- 副本2:不同機架的節點。
- 副本3:同第2副本相同機架的不同節點。
- 如果還有其他副本:隨機。
兩種策略的故障域都為機架,新版相對于舊版本,當本客戶端再次讀取新寫的數據時,直接從本地讀取,這樣延遲最小,讀取速度最快。
HDFS各個組件的作用?
先大致看下啟動流程:
NameNode
Fsimage是一個二進制文件,格式如下:
FsImage文件第1行為image head,里面包含image的版本、文件和目錄的個數等;第2行為一個目錄格式(如果是目錄,就是這種格式),包含了目錄的路徑、副本數、權限等,目錄的blocksize都為0;第3行為一個文件格式(如果是文件,則在FsImage存儲的格式),文件和目錄格式包含的字段差不多,多了block信息;通過加載此文件和EditLog日志文件來構建整個文件系統的目錄結構。
通過觀察FsImage文件,里面并沒有block和DN的對應關系,它是如何查到塊所對應的DN的呢?
block和DN的對應關系并沒有實際持久化,而是通過DN向NN(NameNode)匯報,此過程為BlockReport。通過blockReport構建BlocksMap的結構如下:
在blockInfo中保存了block所在的DN信息
SecondaryNameNode
和NameNode并非主備關系,而是輔助NN進行合并FsImage和EditLog并起到備份作用。
HDFS文件操作命令有哪些?
和Linux操作文件類似,只列出常見幾個,和Linux命令的功能也是類似的,如:cp即拷貝,rm即刪除等等
#hadoop fs [cat|chgrp|chmod|chown|count|cp|df|get|ls|put|mv|rm|mkdir|tail]
在HDFS中,提供了fsck命令,用于檢查HDFS上文件和目錄的健康狀態、獲取文件的block塊信息和位置信息等。
#hdfs fsck [move|delete|files|blocks|locations|racks|blockId]
HDFS的優缺點是什么?
最后根據以上內容總結HDFS優缺點如下:
優點:
缺點:
hadoop2.x新特性 引入了NameNode Federation,解決了橫向內存擴展;引入了Namenode HA,解決了namenode單點故障。
相關文章
http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
https://www.jianshu.com/p/85b71d550c43
https://www.jianshu.com/p/f1e785fffd4d
https://blog.csdn.net/weixin_38750084/article/details/82963235
https://blog.csdn.net/macyang/article/details/7958862
關于360技術360技術是360技術團隊打造的技術分享公眾號,每天推送技術干貨內容更多技術信息歡迎關注“360技術”微信公眾號
總結
以上是生活随笔為你收集整理的hdfs通过接口退出安全模式_Hadoop之HDFS简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.1.1.1校园网_还担心断网?快试试
- 下一篇: leetcode 贪心_LeetCode