Log in
Skip to sidebar
Skip to main content
Linked Applications
Loading...
Apache Software Foundation
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
What’s new
Available Gadgets
About Confluence
Log in
KNOX
Pages
Blog
Space shortcuts
UML Diagrams
Child pages
Index
Test PlantUML Sequence Diagram
Browse pages
Configure
Space tools
A
t
tachments (1)
Page History
Resolved comments
Page Information
View in Hierarchy
View Source
Export to PDF
Export to Word
Copy Page Tree
Pages
Index
Jira links
Test PlantUML Sequence Diagram
Created by
Kevin Minder
, last modified on
Oct 28, 2013
Text above
Sample
Client
Client
Server
Server
Test
Test Diagram
U
NN
DN
JT
TT
1
getNewJobId(): job-id
2
getDelegToken(): deleg-token
3
writeJobFiles( files, deleg-token ): void
4
writeJobFiles( files, deleg-token ): void
5
submitJob(): job-id
6
heartbeat() : work
7
refreshDelegToken( deleg-token ): void
8
extractJobFiles(): data
9
extractJobFiles(): data
10
new()
T
11
exec()
12
status(): void
Secure Map Reduce 2
Client
(c)
Resource
Manager
(rm)
History
Server
(hs)
Node
Manager
(nm)
File
System
(fs)
Name
Node
(nn)
Data
Node
(dn)
Install
Bootstrap
1
heartbeat
[?]
( status )
:
blk-tkn-secret
2
heartbeat
[?]
()
: nm-secret-key, container-secret-key
Cycled daily?
Job Definition
3
createJob(): job-id
Used to identify job-dir
4
createDelegationToken(): c-nn-deleg-token
5
createDelegationToken(): c-rm-deleg-token
Optional, e.g. Oozie
6
createDelegationToken(): c-hs-deleg-token
For completed job status
7
createShuffleSecret(): shuffle-secret
Used to fetch data from NM
8
mkdir
[RPC:SASL(c,nn)]
( job-dir )
loop
[job-conf, splits, etc.]
9
writeFile
[RPC:SASL(c,nn)]
()
: blk-id, blk-loc,
blk-access-tkn
10
writeBlock
[DTP(
blk-access-tkn
)]
( blk-id ): blk-data
11
serializeTokens( TODO ): serialized-tokens
Job Submission
12
submitApplication
[?]
( job-dir, serialized-tokens )
Tokens also includes c-rm-deleg-token
13
generateClientSecret(): client-secret
For the C to talk to AM.
Should this be a token?
14
generateApplicationToken(): app-token
For AM to talk to the RM.
15
app-report{client-token{app-id}}
Job Initiation
16
allocateResource
()
: mr-container-spec{nm-token,container-token}
RM allocates resources
with itself for running AM
17
startContainer
[?]
( mr-container-spec, serialized-tokens )
tokens: deleg, shuffle, client, app
18
write( serialized-tokens )
Includes client-token, protected by OS permissions
19
exec
[as rm?]
( job-dir, serialized-tokens-loc)
Application
Master
(am)
Provided the location of the token file via env
20
register
[?]
( app-token )
Map Task Execution
21
allocateResources
[?]
(spec)
: ContainerInfo(nm-token,container-token)
22
startContainer
[nm-token]
( spec=map,
tokens byte buffer A&C,D
)
23
exec
[as ?]
()
Application
Container
(ac)
setuid?
Is AC exec a setuid program?
24
extractFiles?
Does AC extract the job files from HDFS?
25
exec
[as c]
()
Task
(t)
Map Task
26
readFile
[RPC:SASL(
c-deleg-tkn
,nn)]
( split-file )
: blk-id, blk-loc,
blk-access-tkn
27
readblk
[DTP(
blk-access-tkn
)]
( blk-id )
: split-blk-data
28
jobStatus
[?]
()
How does AC access AM?
What does AC do now?
Status Query
29
statusQuery [?] ()
How does C know how to access AM?
Reduce Task Execution
30
negotateResources
[?]
()
: ContainerInfo
31
launchContainer
[?]
( spec=reduce,
tokens
)
32
exec
[as ?]
()
Application
Container
(ac)
Are different containers used
for Map and Reduce Tasks?
33
extractFiles?
Does AC extract the job files from HDFS?
34
exec
[as c]
()
Task
(t)
Reduce Task
35
writeFile
[RPC:SASL(
c-deleg-tkn
,nn)]
( reduce-file )
: blk-id, blk-loc,
blk-access-tkn
Need to identify where c-deleg-tkn
came from and when it was refreshed.
36
writeblk
[DTP(
blk-access-tkn
)]
( blk-id )
: reduce-blk-data
37
jobStatus
[?]
()
Job Completion
Text below
No labels
Overview
Content Tools
Apps
{"serverDuration": 337, "requestCorrelationId": "e303d140f1790d8c"}