hdfs
*****
1.hdfs為什麼不適合儲存大量小檔案?
答:(1)大小量檔案的元資料會占用namenode大量記憶體空間
解析: 檔案的元資料(包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上),都是儲存在namenode上的。
hdfs的每個檔案、目錄、資料塊占用150b,因此300m記憶體情況下,只能儲存不超過300m/150=2m個檔案/目錄/資料塊的元資料 。
(2)磁碟尋道時間超過讀取時間
解析:hdfs為了使資料的傳輸速度和硬碟的傳輸速度接近,則設計將尋道時間(seek)相對最小化,將block的大小設定的比較大,這樣讀寫資料塊的時間將遠大於尋道時間,接近於硬碟的傳輸速度。
2.hdfs 何時離開安全模式?
答:activenamenode啟動時hdfs進入安全模式唯讀,datanode主動匯報可用block的可用情況
即上報率=可用block數量/namenode元資料記錄的block數》=99.9%時離開安全模式
何時觸發安全模式?
1.namenode記憶體不夠;2.datanode無法啟動;3.namenode重啟;4.block上報率低閾值;5.日至報錯;6.強制關機
3.activenn與standbynn的切換?
答:**m機制實現最終一致,允許延遲,journalnode(2n+1)只要n+1個寫入成功即可,他寫edits編輯日誌檔案,activenn掛掉standbynn狀態變為active
4.hdfs寫檔案過程?
答:(1)客戶端請求上傳檔案,輸入命令;
(2)檢查hdfs目錄,允許上傳;
(3)客戶端將檔案切塊block並請求namenode;
(4)namenode返回datanode資訊;
(5)客戶端與datanode建立傳輸,寫成功後通知namenode;/先寫資料再寫日誌
(6)更新edits編輯日誌(立即)和fsimage檔案(定期)寫入namenode,同時寫入journalnode,最後寫入記憶體(最新);
(7)後面standbynn與activenn定期同步。
5.hdfs優缺點?
優點:高可用(namenodeha),高容錯(冗餘多副本),高擴充套件(10k),海量資料,成本低
缺點:大量小檔案不可存,不支援併發寫入,不支援低延時,不支援隨機。
6.hdfs元資料倆種儲存方式?
記憶體元資料:namenode
檔案元資料:edits+fsimage
7.hdfs最小檔案儲存單元 block?
(1)儲存在datanode,大小預設128m,多副本、均勻分布在多個datanode(預設三個副本);
(2)block放置策略:副本1放在clinet 副本2放在另一台機架,副本3放在和副本2一起的另外節點,其他隨意;
(3)block檔案 命名:「 blk blk_檔案大小」
8.hdfs各個角色
(1)activenn作用:
唯一的集群管理節點;管理hdfs檔案系統命名空間;維護元資料資訊(檔案位置、許可權、塊資訊等);處理客戶端請求;管理塊策略
(2)standbynn作用:
備份master節點宕機後替換activenn;週期同步activenn的edits檔案,並定期合併fsimage檔案和edits到本地磁碟;
(3)namenode作用:
儲存元資料(fsimage+edits),fsimage(檔案塊資訊、位置、目錄、副本數),edits(檔案操作記錄)
(4)datanode作用:
slive工作節點;儲存資料block;定期與namenode心跳匯報block資訊(集群啟動有可用block數匯報);客戶端的資料讀寫操作;
9.hdfs高可用?
通過**m機制部署2n+1個journalnode節點,n+1個操作成功(寫edits)即可,利用zk選舉active節點
Hadoop Spark 常見問題 二
spark 1.rdd?資料集拆分 資料儲存在記憶體或者磁碟 多分割槽 失效自動重構 轉換操作構造 2.rdd倆種依賴?窄依賴 父rdd中的分割槽最多只能被乙個子rdd的乙個分割槽使用 和寬依賴 子rdd依賴於所有父rdd 3.spark 角色?1.driver main函式在裡面 2.sparco...
常見問題 朗動常見問題
常見問題一 方向盤變沉 檢查胎壓是否正常,輪胎是否過度磨損。助力幫浦不工作,前輪氣壓低。冬天的話,冷車在冬天助力油比較稠,方向會重一點。檢查轉向助力油。1 應該是是助力系統有問題或則助力潤滑油有問題。2 如果你在駕車時感覺方向盤變緊,汽車偏向一側,需要檢查輪胎,或進行車輪平衡 定位。在這些問題剛剛發...
UITableView常見問題總結(二)
廢話不多說,直奔主題.1.如何將cell中的分割線頂頭顯示,具體實現方法如下 self setlayoutmargins uiedgeinsetsmake 0 0,0 0 self setseparatorinset uiedgeinsetsmake 0 0,0 0 cell setlayoutma...