티스토리 뷰
TF/DB
bramach
2018. 3. 31. 23:00
분산 환경에서 'key-value' map 을 'key-value list'로 reduce 하는 과정map task를 수행하는 워커들(M)과 reduce task를 수행하는 워커들(R)이 있음맵 후 리듀스 워커에 할당은 해시 기반으로R에 따라 아웃풋(R마다 아웃풋 파일 하나)이 묶이는 것을 고려해 해시키를 조절 할 수 있다.마스터가 잡을 스케줄링하고 워커에 rpc 를 호출.대부분의 연산은 deterministic 해서 여러 번 수행되는 것은 문제가 아니다.gfs는 세 쌍의 데이터를 저장한다. 마스터은 이 데이터가 있는 혹은 가까이 있는 노드에 태스크 할당.로드 밸런싱 등의 이유로 태스크가 워커보다 많은 게 좋음.맵퍼는 data 가 16-64MB로 쪼개지게 선택.리듀서는 또 너무 많으면 리듀서 수많큼 너무 많은 output file이 나오는 불편한 상황이 생김.네트워크나, 다른 머신 상황으로 인해 수행속도가 엄청나게 느린 staggler들이 가장 큰 성능 저하의 원인중간에 sort를 하는 이유는, 보기 편함 + direct access 가능combiner function : 한 맵퍼에서 충분히 리듀스를 할 만큼 pair가 많이 나오면 네트워크 낭비하지 말고 맵퍼에서 하자.맵이나 리듀스가 안되는 잘못된 형식에 대한 데이터는, 마스터가 실패 시그널을 받고 거름.로컬에서 시퀀셜하게 돌리면서 디버깅 가능couter: 해당 밸류가 얼마나 있는지를 count. Task 중복에도 제대로 카운팅 될 수 있도록 관리해줌.
« 2025/01 »
일 |
월 |
화 |
수 |
목 |
금 |
토 |
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|