- 클러스터 준비
- 클러스터 규모
- 작은 규모(보통 10 노드)로 시작한 후 저장 및 계산 능력에 대한 요구가 증가함에 따라 클러스터 규모를 증가시킴
- 쉬운 방법으로는 얼마나 빨리 클러스터가 커질 것인가에 대해 저장소의 용량을 고려하여 산정하는 것이 유용함
- 증가되는 데이터량, 복제인수, 임시파일 및 로그 공간 등
- 하둡 설치 및 설정
- 설치 과정
- 바이너리 패키지 설치
- 하둡 경로 환경 변수 추가
- ssh 구성
- 하둡 설정 파일 구성
- HDFS 포맷
- 데몬 시작
- HDFS 내 사용자 디렉터리 생성
- 메모리 힙 크기
- 각 데몬 당 기본으로 1000MB의 메모리를 할당함
- 네임노드의 경우 저장소 1 백만 블록 당 1,000MB 정도의 메모리가 필요함
- ex) 24TB 디스크에서 200 노드, 블록 사이즈 128MB, 복제 수준 3인 경우 약 1,250만 개의 블록을 수용할 수 있기 때문에 약 12,000MB가 적절함
- 환경설정
- XML 형태의 환경설정 파일들의 수정으로 각종 옵션을 설정함
- Tool의 Configuration 객체를 통해 설정을 확인하고 일부 설정을 변경할 수 있음
- HDFS 설정 시 고려사항
- dfs.datanode.data.dir
- HDFS 저장 디렉터리를 별도로 지정하지 않으면 시스템 임시 디렉터리 하위에 위치하기 때문에 시스템에서 임시 디렉터리를 정리할 경우 데이터를 유실할 위험이 있음
- YARN 설정 시 고려사항
- yarn.nodemanager.vmem-pmem-ratio
- 컨테이너 가상 메모리 사용량이 할당된 메모리의 특정 배수 이상인 경우 노드 매니저는 프로세스를 종료시킴
- 기본값은 2.1로 컨테이너 메모리 크기가 1024MB인 경우 2150MB를 한계치로 가짐
- MapReduce 설정 시 고려사항
- mapreduce.job.reduce.slowstart.completedmaps
- 기본적으로 Reduce Task는 Map Task의 5%가 완료될 때까지 기다린 후 시작
- 만약 규모가 큰 Job에서 Map Task가 끝나기를 기다리는 동안 Reduce 컨테이너를 시작하여 클러스터 운용에 문제가 발생하는 경우 0.8(80%)과 같이 큰 값으로 설정하여 해결할 수 있음
'Development > Hadoop' 카테고리의 다른 글
하둡 공부 - 관련 프로젝트 (0) | 2019.01.24 |
---|---|
하둡 공부 - 하둡 관리 (0) | 2019.01.24 |
하둡 공부 - 맵리듀스의 튜닝과 고급 기능 (0) | 2019.01.24 |
하둡 공부 - MapReduce 실행 (0) | 2019.01.24 |
하둡 공부 - MapReduce 작동 방법 (0) | 2019.01.24 |