版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
掃描
/獲取
面試題及
解答:ninechapter:
ht
/ninechapter知乎:
http://z
/jiuzhang官網(wǎng):http:
系統(tǒng)設計Distributed
System
Design(九章
課件)課程版本v5.1
本節(jié)主講人:北丐老師:九章課程不允許
,否則將 ,賠償損失第1頁分布式系統(tǒng)?一言以概之:用多臺機器去解決一臺機器上不能夠解決的問題。比如: 不夠?QPS太大?第2頁Distributed
File
System
( File
System)怎么有效
數(shù)據(jù)?No
SQL
底層需要一個文件系統(tǒng)MapReduce怎么快速處理數(shù)據(jù)?Bigtable
=
No-SQL
DataBase怎么連接底層
和上層數(shù)據(jù)Overview谷歌三劍客第3頁Design
Distributed
File
System
(File
System)Overview
of
today第4頁Master
Slave
Pattern.How
to
check
and
handle
system
failure
anderror.How
to
design
Distributed
File
System.第5頁你會掌握Design
Distributed
File
System了解分布式文件系統(tǒng)后可以做什么?, 面試可能會考到.學習經(jīng)典系統(tǒng),對其他系統(tǒng)設計也有幫助.比如如何處理failure和recovery.第6頁Distributed
File
SystemHadoop
Distributed
File
System(HDFS
叫做“很多分手”)VSFile
System(GFS)俗稱“高富帥”又叫“剛分手”Distributed
File
SystemCompany開源GFSNoHDFSYahoo(Alitaba)OpenSource
of
GFSYes第7頁按照4S分析Scenario
場景分析Service
服務Storage理清楚work
solutionScale
升級優(yōu)化Overview第8頁Scenario
場景分析需要設計哪些功能第9頁一個文件.需求1用戶寫入一個文件,用戶支持多大的文件?越大越好?比如>1000T需求2多臺機器
這些文件支持多少臺機器?越多越好?10萬臺,2007
yearScenario
場景分析第10頁Service
服務第11頁Service
服務第12頁Client+ServerService
服務Server第13頁多臺機器怎么溝通?+第14頁Service
服務serverServerServerPeer
to
peer誰也看不慣誰第15頁Service
服務serverServerServermasterMaster
+Slave聽
的好比“
和他的小弟”What
is
master?Master
也是一臺機器第16頁DBGFS(HDFS)Master數(shù)據(jù)管理者(不
數(shù)據(jù))SlaveBackUp被管理者(
實際文件,partition關系)Master+Slave架構第17頁比較少)Peer
2
Peer( et,Cassandra,不是課程重點,Advantage一臺機器掛了還可以工作Disadvantage多臺機器需要經(jīng)常通信保持他們數(shù)據(jù)一致Master
SlaveAdvantageSimple
Design數(shù)據(jù)很容易保持一致Disadvantage單master要掛Final
DecisionMaster
+
Slave單master掛了重啟就是。掛的概率在0.1%Storage第18頁Storage第19頁大文件存在哪?內(nèi)存?數(shù)據(jù)庫?文件系統(tǒng)?Storage第20頁大文件存在哪?內(nèi)存?數(shù)據(jù)庫?文件系統(tǒng)?怎么存在文件系統(tǒng)里面呢?操作系統(tǒng)基礎知識怎么存文件的?Storage第21頁Interviewer:
How
to
save
a
filein
one
machine?普通的操作系統(tǒng)是怎么做的呢?100G第22頁DengChao.mp4一個文件有什么東西?第23頁How
to
save
a
file
in
one
machineDiskMetadataFileinfoName=dengchao.mp4CreatedTime=201505031232Size=2044323dengchao.mp4的信息的Metadata:描述“其他數(shù)據(jù)”而Metadata
常常多于內(nèi)容的文件是分開 的呢?還是連續(xù)呢?,Windows就是連續(xù)
Linux就是分開(畫個圖)第24頁How
to
save
a
file
in
one
machineDiskMetadataFileinfoName=dengchao.mp4CreatedTime=201505031232Size=2044323IndexBlock
11->diskOffset1Block
12->diskOffset2Block
13->diskOffset3Block
14->diskOffset4blocksBlock
10Block
11Block
12Block
13Block14Key
point1
block
=
1024ByteBlock
Advantage?方便檢查錯誤碎片化(fragmentation)第25頁Interviewer:
How
to
save
a
largefilein
one
machine?第26頁Is
block
size
bigenough?100T(多文件)=100*1000G=100*1000*1000M=100*1000*1000*1000K=100*1000*1000*1000block通常大文件是一些數(shù)據(jù)文件file-merged.txt=
0.3G的第27頁Interviewer:
How
to
save
a
large
file
in
one
machine?DiskMetadataFileinfoName=dengchao.mp4CreatedTime=201505031232Size=2044323232IndexChunk
11->diskOffset1Chunk
12->diskOffset2Chunk
13->diskOffset3…..chunksChunk
10Chunk
11Chunk
12Chunk
15Chunk
13Key
point1
chunk=
64M=
64*1024KAdvantageReduce
size
of
metadataDisadvantageWaste
space
for
small
files第28頁系統(tǒng)設計沒有標準答案就是TradeOff的過程第29頁Interviewer:
How
to
save
extra-large
filein
several
machine?第30頁10PIs
one
machine
bigenough?這里的文件并不是指一個dengchao.mp4就那么大而是很多個文件Scale
about
the
StorageChunkServer5Offset1Offset2Offset3
Dengchao.mp4-chunk-01Offset4
Dengchao.mp4-chunk-02Offset5
Dengchao.mp4-chunk-03Offset6
Sunli.mp4-chunk-01Offset6
Sunli.mp4-chunk-02MasterMeta
DataName=dengchao.mp4CreatedTime=201505031232Size=40042044323IndexChunk
01->cs5_offset3Chunk
02->cs5_offset4Chunk
03->cs5_offset5Chunk
04->cs3_offset1Chunk
05->cs3_offset2Chunk
06->cs3_offset3Key
pointOne
master
+
many
ChunkServers第31頁Chunk
Servers
=
Slave
Servers每個chunk的Offset偏移量可不可以不存在master上面?第32頁Scale
about
the
StorageChunkServer5Offset1Offset2Offset3
Dengchao.mp4-chunk-01Offset4
Dengchao.mp4-chunk-02Offset5
Dengchao.mp4-chunk-03Offset6Sunli.mp4-chunk-01Offset6
Sunli.mp4-chunk-02MasterMeta
DataName=dengchao.mp4CreatedTime=201505031232Size=40042044323IndexChunk
01->cs5Chunk
02->cs5Chunk
03->cs5Chunk
04->cs3Chunk
05->cs3Chunk
06->cs3Key
pointThe
master
don’t
record
thediskOffset
of
a
chunk第33頁AdvantageReduce
the
size
of
metadatainmasterReduce
the
traffic
between
masterandChunkServer(chunkoffset改變不需要通知master)IndexDengchao.mp4-chunk-01
Offset3Dengchao.mp4-chunk-02offset5Master10P
文件的metadata需要多少容量?1
chunk=64MB
needs
64B.(經(jīng)驗值)10P=16*10^6
chunk
needs
10
G第34頁按照4S分析Scenario
場景分析Service
服務Storage理清楚work
solutionScale升級優(yōu)化Overview第35頁One
Work
Solution
forRead
/
Write第36頁Interviewer:
How
to
write
a
file?第37頁一次寫入還是拆分成多份多次寫入?把大胖子直接寫入呢?還是把大胖子碎尸萬段了后寫入呢?write
File_name=/gfs/home/dengchao.mp4Server第38頁寫入過程中出錯了,那么需要重新寫入,哪
法更好?一次傳輸?shù)弥匦聜鬏斦麄€文件,多次只用重新傳一小份。如果是分成多份多次寫入,那么每一份的大?。课募緛硎前凑誄hunk來 的,所以傳輸單位也是Chunk如果是分成多份多次寫入,那么是告訴master讓master來切分?還是client自己切分?client自己按照文件大小切分。比如/gfs/home/dengchao.mp4
size=576M.
那么可以切分問576M/64M=9個chunk。一次
VS
多次第39頁How
to
write
a
file?FileClient
Split
file/gfs/home/dengchao.mp4Index00/gfs/home/dengchao.mp4-00-of-09Index01/gfs/home/dengchao.mp4-01-of-09……client
把文件拆分為n份,每一份一個chunk
index所以并不是一下就把胖子寫進去第40頁/gfs/home/dengchao.mp4那每一個chunk是怎么寫入server的呢?第41頁直接寫到chunk
server?需要先個master溝通,再寫入chunk
server?How
to
write
a
file?1,
write
File_name=/gfs/home/dengchao.mp4,
Chunk
index=12,
Assign
Chunkserver_locations=US,
CS13.
Transfer
Data=/gfs/home/dengchao.mp4-01-of-094.
WriteFinishmasterChunkServer1ChunkServer2infoName=/gfs/home/dengchao.mp4IndexChunk
01->ChunkServer1Chunk
02->ChunkServer1Chunk
03->ChunkServer2……KeyMaster
分配chunkserver給client的每個chunk4.
WriteFinish第42頁這個地方的client是User么?是
Drive界面么?第43頁How
to
write
a
file?ClientServerUserBrowserBroswerWebserverWebserverDatabaseDatabaseGFSWebserverGFS( File
System)第44頁要修改Dengchao.mp4怎么辦?第45頁/gfs/home/dengchao.mp4要修改的部分在哪個chunk?修改了過后chunk變大了要怎么處理?修改了過后chunk變小了要怎么處理?要修改Dengchao.mp4怎么辦?第46頁One
time
to
write,
Many
time
to
read.先刪掉/gfs/home/dengchao.mp4重新把整個文件重寫一份跟化妝一樣,畫丑了,洗掉重畫Interviewer:
How
to
read
a
file?第47頁一次讀整個文件?還是拆分成多份多次讀入?Read
File_name=/gfs/home/dengchao.mp4Server第48頁那么client怎么知道dengchao.mp4被切成了多少塊?How
to
read
from
a
file?1.
Filename=/gfs/home/dengchao.mp42.
return
a
chunk
list.Read
/gfs/home/dengchao.mp4-00-of-09
inChunk
server
1Return
data/gfs/home/dengchao.mp4-00-of-09masterChunkserver1第50頁Name=/gfs/home/dengchao
mp4Chunk
ListChunk
indexChunk
Server001012……各個文件數(shù)據(jù)的metadataMap(file
name
+
chunk
index
->
chunk
server)時找到對應的chunkserver寫入時分配空閑的chunkserverQuestion?為什么不把數(shù)據(jù)直接給master
讓master
去寫?MasterbottleneckMaster
Task第51頁?普通文件系統(tǒng)Meta
Data,Block大文件 :
Block->
Chunk多臺機器超大文件:Chunk
Server+Master寫入Master+Client+ChunkServer
溝通流程Master metadata
和chunkserver
表讀出Master+Client+ChunkServer
溝通流程One
Work
Solution第52頁按照4S分析Scenario
場景分析Service
服務Storage理清楚work
solutionScale升級優(yōu)化Overview第53頁休息5分鐘第54頁Scale
升級系統(tǒng)如何優(yōu)化與GFS的精髓第55頁單Master
夠不夠?第56頁單Master
夠不夠?第57頁工業(yè)界90%的系統(tǒng)都采用單masterSimple
is
perfectSingle
Master
FailureDouble
Master
雙龍戲珠P r:
Apache
Hadoop
Goes
Realtime
atMulti
MasterP r:
Paxos
Algorithm第58頁Scale
about
the
FailureandRecover第59頁Interviewer:
How
to
identify
whethera
chunk
on
the
disk
is
broken?第60頁CheckSum第61頁數(shù)據(jù)123Checksum(xor)二進制表示01101100Check
Sum
檢查一位錯誤數(shù)據(jù)133Checksum(xor)二進制表示01111101錯誤后原來CheckSum
Method
(MD5,
SHA1,
SHA256
and
SHA512)Read
More:第62頁Add
checksum
for
chunk?第63頁ChunkHow
to
identify
whether
a
chunk
on
the
disk
is
broken?第64頁1
checksumsize?4bytes
=
32bit1
chunk=
64MBEach
chunkhas
achecksumThe
size
of
checksum
of
1P
file1P/64MB*32bit
=
62.5
MB什么時候寫入checksum?第65頁什么時候寫入checksum?Answer:寫入一塊chunk的時候順便寫入第66頁Chunkchecksum什么時候檢查checksum?第67頁什么時候檢查checksum?第68頁Answer:讀入這一塊數(shù)據(jù)的時候檢查重新讀數(shù)據(jù)并且計算現(xiàn)在的checksum比較現(xiàn)在的checksum和之前存的checksum是否一樣Interviewer:
How
to
avoid
chunkdata
loss
when
a
ChunkServer
isdown/fail?第69頁Interviewer:
How
to
avoid
data
losswhen
a
ChunkServer
is
down/fail?第70頁Answer:Replica
(專業(yè)詞匯)說得好聽叫做雙保險需要多少個備份?每個備份放在哪?第71頁需要多少個備份?每個備份放在哪?第72頁三個備份都放在一個地方(加州)。三個備份放在三個相隔較遠的地方(加州,濱州,紐約州)兩個備份相對比較近,另一個放在較遠的地方(2個加州,1個濱州)選chunk
server的時候有什么策略?第73頁選chunk
server的時候有什么策略?最近寫入比較少的。(LRU)硬盤
比較低的。第74頁Interviewer:
How
to
recover
when
achunk
isbroken?第75頁Interviewer:
How
to
recover
when
achunk
isbroken?Answer:
Ask
master
for
help第76頁Master/gfs/home/dengchao.mp4Chunk03
->CS3,CS5,CS4ChuckServer5Dengchao.mp4-chunk-03ChuckServer4Dengchao.mp4-chunk-03Sunli.mp4-chunk-01Sunli.mp4-chunk-02Key
pointAsk
master
for
helpMy
Chunk03
is
wrong,
where
are
theothersAsk
CS3
and
CS5
?3.
I
need
Chunk3第77頁4.
There
u
goHow
to
find
whether
aChunkServer
is
down?第78頁How
to
find
whether
aChunkServer
is
down?第79頁Interviewer:
HeartBeat.畫一個圖闡釋A:
master
->
chunkservers?B:
chunkservers->master?備胎?Scale
abouttheWriteInterviewer: Whether
write
to
only
one
server
is
safe?第80頁How
to
write
a
file?1,
write
File_name=/gfs/home/dengchao.mp4,
Chunkindex=12,
Assign
Chunkserver_server,
CS1,CS2,CS34.
WriteFinishmasterChunkServer1ChunkServer2ChunkServer3第81頁Interviewer:
How
to
solve
Clientbottleneck?第82頁第83頁How
to
solve
Client
bottleneck?1,
write
File_name=/gfs/home/dengchao.mp4,
Chunkindex=12,
Assign
Chunkserver_server,
CS1,CS2,CS33.
Transfer
Data=/gfs/home/dengchao.mp4-01-094.
WriteFinimasterChunkServer1ChunkServer2ChunkServer33.
Transfer
Data=
/gfs/home/dengchao.mp4-01-of-09選隊長4.
Write本由
isomh社區(qū)用戶整理Interviewer:
怎么樣選隊長?第84頁找距離最近的(快)找現(xiàn)在不干活的(平衡traffic)Interviewer:
隊長一直不變的么?第85頁Interviewer:
How
to
solveChunkServer
failure?第86頁How
to
solve
ChunkServer
failure?1,
File
Name,
Chunk
id2,
Chunkserver
locations
,
CS1,CS2,CS33.
data4.
failmasterChunkS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 年會員工發(fā)言稿28篇
- 感恩節(jié)創(chuàng)意方案(19篇)
- 易錯點16 閱讀理解:詞義猜測題(4大陷阱)-備戰(zhàn)2025年高考英語考試易錯題含解析
- 幼兒家長會講話稿15篇
- 土壤(第1課時)導學案 高中地理人教版(2019)必修一
- 快遞使用規(guī)則培訓
- 初級會計實務-初級會計《初級會計實務》模擬試卷294
- 初級會計經(jīng)濟法基礎-2021年5.15上午初級會計職稱考試《經(jīng)濟法基礎》真題
- 智研咨詢-2024年中國地熱能開發(fā)利用行業(yè)市場規(guī)模、行業(yè)集中度及發(fā)展前景研究報告
- 220k變電所安全運行
- 【超星學習通】馬克思主義基本原理(南開大學)爾雅章節(jié)測試網(wǎng)課答案
- 工傷賠償授權委托書范例
- 食堂餐具炊具供貨服務方案
- 自然科學基礎(小學教育專業(yè))全套教學課件
- 小學語文閱讀教學落實學生核心素養(yǎng)方法的研究-中期報告
- 電梯使用轉讓協(xié)議書范文
- 工程變更履歷表
- 煤礦崗位標準化作業(yè)流程
- 唯物史觀課件
- 信息資源管理(馬費成-第三版)復習重點
- 郵輪外部市場營銷類型
評論
0/150
提交評論