Google File System 學習筆記

GFS翻譯:https://www.cnblogs.com/cxxjohnson/p/4984309.html

?

一、GFS架構:

二、保存文件的方式

1、保存小文件:磁盤中分塊,每個block大小為1024Byte,每個文件的索引由塊號+偏置組成

2、保存大文件:把block換成chunk,每個chunk為64MB.

3、保存超大數據:把chunk放在不同的chunk服務器上,有一個Master服務器存放所有chunk所在的ChunkServer編號。每個chunkserver保存每個chunk在其中的偏移量。

?

三、ChunkServer和Master服務器

1、如何發現數據損壞

  • 每一個block都保存32bit校驗信息

2、減少ChunkServer掛掉帶來的損失

  • 保存額外兩個chunk副本

  • 選擇硬盤利用率低的但是不能把新的chunk都寫在一個硬盤上,避免形成熱點

  • 2+1:跨數據中心,在一個數據中心中放在不同的機架上

3、chunkserver損壞的解決方法:

  • 向master報告損壞的數據塊

  • master返回其他副本的chunkserver號

  • 向最近的副本請求受損chunk

4、如何發現chunkserver掛掉

心跳:定時向master報告存活

?

5、應對熱點

?

四、讀文件過程

?

五、寫文件過程

  1. 向Master詢問chunkserver位置

  2. 向最近的chunkserver寫文件

  3. chunkserver之間高速同步(只寫在cache里)

  4. 由主chunkserver發出寫命令

  5. 副本通知主chunkserver寫成功

  6. 通知應用寫成功

?

?

?

轉載于:https://www.cnblogs.com/pihaochen/p/10968387.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536419.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536419.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536419.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

探討奇技淫巧

2019獨角獸企業重金招聘Python工程師標準>>> 探討奇技淫巧 起源 在工程實踐中,我們常常會遇到一些奇技淫巧。所謂奇技淫巧,就是官方在設計或者實踐中并未想象出的代碼風格或者使用場景。其實也就是類似于 react 的 hoc,本來源自于社區&#x…

悼念512汶川大地震遇難同胞——選拔志愿者【博奕】

悼念512汶川大地震遇難同胞——選拔志愿者 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11716 Accepted Submission(s): 7537 Problem Description 對于四川同胞遭受的災難,全國人民紛紛伸出援…

mall整合SpringBoot+MyBatis搭建基本骨架

本文主要講解mall整合SpringBootMyBatis搭建基本骨架,以商品品牌為例實現基本的CRUD操作及通過PageHelper實現分頁查詢。 mysql數據庫環境搭建 下載并安裝mysql5.7版本,下載地址:dev.mysql.com/downloads/i…設置數據庫帳號密碼:r…

Web框架之Django_01初識(三大主流web框架、Django安裝、Django項目創建方式及其相關配置、Django基礎三件套:HttpResponse、render、redirect)...

摘要: Web框架概述 Django簡介 Django項目創建 Django基礎必備三件套(HttpResponse、render、redirect) 一、Web框架概述: Python三大主流Web框架: Django:大而全,自帶了很多功能模塊,類似于航空母艦&am…

Bone Collector【01背包】

F - Bone Collector HDU - 2602 Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag wit…

Gamma階段第八次scrum meeting

每日任務內容 隊員昨日完成任務明日要完成的任務張圓寧#91 用戶體驗與優化https://github.com/rRetr0Git/rateMyCourse/issues/91(持續完成)#91 用戶體驗與優化https://github.com/rRetr0Git/rateMyCourse/issues/91牛宇航#86 重置密碼的后端邏輯https:/…

【動態規劃】多重背包

問題 Q: 【動態規劃】多重背包 時間限制: 1 Sec 內存限制: 64 MB 提交: 112 解決: 49 [提交] [狀態] [討論版] [命題人:admin] 題目描述 張琪曼:“魔法石礦里每種魔法石的數量看起來是足夠多,但其實每種魔法石的數量是有限的。” 李旭琳:…

【動態規劃】完全背包問題

問題 O: 【動態規劃】完全背包問題 時間限制: 1 Sec 內存限制: 64 MB 提交: 151 解決: 71 [提交] [狀態] [討論版] [命題人:admin] 題目描述 話說張琪曼和李旭琳又發現了一處魔法石礦(運氣怎么這么好?各種嫉妒羨慕恨啊),她們有…

springboot超級詳細的日志配置(基于logback)

前言 java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當于定義了規范,實現了這個規范的日志框架就能夠用 slj4f 調用)。其中性能最高的應該使…

【動態規劃】簡單背包問題II

問題 J: 【動態規劃】簡單背包問題II 時間限制: 1 Sec 內存限制: 64 MB 提交: 127 解決: 76 [提交] [狀態] [討論版] [命題人:admin] 題目描述 張琪曼:“為什么背包一定要完全裝滿呢?盡可能多裝不就行了嗎?” 李旭琳:“你說得…

Vue組件通信

前言 Vue組件之間的通信 其實是一種非常常見的場景 不管是業務邏輯還是前段面試中都是非常頻繁出現的 這篇文章將會逐一講解各個傳值的方式 不過在此之前 先來總結一下各個傳值方式吧 1.父組件向子組件傳值 > props2.子組件向父組件傳值 > $emit3.平級組件傳值 > 總線…

【動態規劃】0/1背包問題

問題 H: 【動態規劃】0/1背包問題 時間限制: 1 Sec 內存限制: 64 MB 提交: 152 解決: 95 [提交] [狀態] [討論版] [命題人:admin] 題目描述 張琪曼和李旭琳有一個最多能用m公斤的背包,有n塊魔法石,它們的重量分別是W1,W2,…&a…

貓哥教你寫爬蟲 005--數據類型轉換-小作業

小作業 程序員的一人飲酒醉 請運用所給變量,使用**str()**函數打印兩句話。 第一句話:1人我編程累, 碎掉的節操滿地堆 第二句話:2眼是bug相隨, 我只求今日能早歸 number1 1 number2 2 unit1 人 unit2 眼 line1 我編程累 line2 是bug相…

索引失效

轉載于:https://blog.51cto.com/11009785/2406488

棋盤問題【深搜】

棋盤問題 POJ - 1321 在一個給定形狀的棋盤(形狀可能是不規則的)上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請編程求解對于給定形狀和大小的棋盤,擺放k個棋子的所有可行…

python isinstance()

isinstanceisinstance(object, classinfo) 判斷實例是否是這個類或者object是變量 classinfo 是類型(tuple,dict,int,float) 判斷變量是否是這個類型 舉例: class objA: pass A objA() B a,v C a string print isinstance(A, objA) #注意該用法 print isinst…

P1303 A*B Problem 高精度乘法

復習了一下高精乘 #include<bits/stdc.h> using namespace std; const int maxn1e67; char a1[maxn],b1[maxn]; int a[maxn],b[maxn],c[maxn*10],lena,lenb,lenc,x; int main() {scanf("%s",a1);scanf("%s",b1);lenastrlen(a1);lenbstrlen(b1);for(i…

Catch That Cow【廣搜】

Catch That Cow POJ - 3278 Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number l…

Go2Shell 已無法使用

在更新 Mac 系統時提醒了這個, 像我一樣對 Go2Shell 中毒的人來說, 這是無法忍受的。貌似 Go2Shell 沒有升級&#xff0c;沒有辦法&#xff0c;就直接找來了一個替代品。cd to, 下載入口如下&#xff1a;目前感覺良好。 轉載于:https://juejin.im/post/5cfe82e15188252b1b0366e…

Fliptile【搜索】

Fliptile POJ - 3279 Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M N grid (1 ≤ M ≤ 15; 1 ≤ N ≤ 15) of square tiles, each of which…