MapReduce 튜닝하기
·
DATA Engineering/Hadoop
기존 MapReduce 아키텍쳐 : INPUT → Mapper → Shuffle&Sort → Reducers → OUTPUT Yarn (MapReduce2)을 사용 튜닝 MapReduce INPUT → Mapper → Combiner → Partitioner → Shuffle&Sort → Reducer → OUTPUT Shuffle & Sort 에서 트래픽이 너무 많이 발생하는데, 이 부분을 줄이는것을 목표로 튜닝을 진행하려고 함 Mapper, Partitioner에서 나오는 Key를 줄여서, 네트워크 간 트래픽을 최소화 시켜야 한다 튜닝 방법 메모리 튜닝-Xms1024M -Xmx2048M : Java 힙 메모리 조절하기. Xms는 최소, Xmx는 최대 힙메모리 mapred.child.java.opts ..
WordCount예제로 보는 Map & Reduce
·
DATA Engineering/Hadoop
Word Count 예제 흔히 말하는 MapReduce 는 Map태스크와 Reduce태스크로 구성되고, 이를 설명하기 위해 WordCount예제를 들어보려고한다 위 예제는 전체 Input중에 동일한 단어가 몇번이나 나오는지를 확인하는 예제이다 MapReduce의 태스크는 크게 4가지 부분으로 구성된다 전체는 Spliting, Mapping, Shuffling, Reducing으로 구분되고 그중 Map Task는 Spliting & Mapping Reduce Task는 Shuffling & Reducing 을 지칭한다 JOB 튜닝 블록크기 → namenode heap메모리에 영향받음. 128mb replication 갯수 : (복제갯수)일반적으로 3 CHILD 프로세스 재사용 : Map or Reduce태..
Secondarynamenode(SNN), fsimage, HDFS Balancer
·
DATA Engineering/Hadoop
세컨더리네임노드(SNN) namenode는 파일시스템에 대한 이미지 관리를 fsimage라는 이름으로, Namenode가 떠있는 디스크에 얘를 저장하게 되어있음. fsimage는 일종의 스냅샷형태로 관리함. 이 로그는 edits에 저장됨 namenode가 처음 구동되면 fsimage를 쭉~ 읽고, 메모리에다가 스냅샷을 구성함. 그 다음에 edits로그를 다 읽고 변경된 내용을 메모리에 반영함. Edits로그를 병합해줘야하지 않을까? 파일시스템에서 활동,변경한 내역로그는 모두 edits에 저장되는데 나중을 위해서 edits로그를 병합해줘야한다 어디서 해야할까? namenode에서는 직접병합을 하지않고, SNN에서 병합을 한다음에, 이를 fsimage스냅샷으로 만들고, 원본 fsimage와 바꿔치기한다 SN..
Datanode가 죽었을때, Masternode가 죽었을때
·
DATA Engineering/Hadoop
이름설명 Name node : 하둡 분산파일시스템에 대한 Master 역할 (데이터의 메타데이터 저장) Job Tracker : 어플리케이션 관리에 대한 Master 역할 Datanode : 하둡 분산파일시스템에 대한 Slave역할 (실제 데이터 저장) Task tracker : 어플리케이션 관리에 대한 Slave역할. 일을 실제로 하는 역할 일반적으로 DN + TT를 하나의 묶음으로 띄운다 Replica와 Datanode 하둡에서는 파일을 128mb로 쪼개서 Datanode로 저장한다. 이때, 안정성을 위해서 Replica(복사본) 을 가지는데, 원본과 Replica를 합쳐서 3개를 전체서버에 저장한다. Datanode의 노드상태 Namenode에 알리기 위해 주기적으로 Heartbeat를 보내는 방식..
하둡에서 블록 용량 디폴트가 128MB인 이유
·
DATA Engineering/Hadoop
선요약 Namenode, TaskTracker가 블록을 탐색할때 파일의 정보를 최대한 빨리 찾기 위해서, 메타정보를 줄이기 위한 용도로 사용한다 이름설명 Name node : 하둡 분산파일시스템에 대한 Master 역할 (데이터의 메타데이터 저장) Task tracker(TT) : 어플리케이션 관리에 대한 Slave역할. 일을 실제로 하는 역할 Block 저장 하둡에서 사용하는 HDFS포맷(하둡파일시스템) 의 특징인데 하나의 파일을 여러개의 Block으로 쪼개서 저장한다. 초기엔 64MB를 디폴트로 설정하여 저장했는데, 지금은 128MB를 디폴트로 사용중이다 왜 128MB 인가? 256, 512로도 바꿀수 있긴 하지만, 디폴트는 128mb 128mb면 좀 큰단위긴한데, 위에 나와있는 Namenode, T..
jjongguet
'DATA Engineering/Hadoop' 카테고리의 글 목록