반응형
1. 기초 과정
1-1. Hadoop 기본 개념 이해
- Hadoop이란?
- 분산 저장과 분산 처리를 위한 오픈 소스 프레임워크
- 두 가지 주요 구성 요소: HDFS(분산 파일 시스템)와 MapReduce(분산 처리 프레임워크)
- Hadoop의 특징
- 확장성: 노드 추가로 쉽게 확장 가능
- 내결함성: 데이터가 여러 노드에 복제되어 장애 발생 시에도 데이터 손실 방지
- 저비용: 저렴한 하드웨어로 빅데이터 처리 가능
- Hadoop 에코시스템
- HDFS: 대용량 데이터를 여러 노드에 분산 저장
- MapReduce: 데이터를 분산 처리하는 프로그래밍 모델
- YARN: 자원 관리 시스템으로 여러 애플리케이션을 동시에 실행 가능
- Hive, Pig: SQL 같은 언어로 빅데이터 쿼리 및 분석
- HBase: 실시간 빅데이터 처리와 NoSQL 데이터베이스
1-2. Hadoop 설치 및 설정
- 싱글 노드 클러스터 설치
- Ubuntu 또는 CentOS 기반의 VM에 Hadoop 설치
- Hadoop 환경 설정 파일 수정(core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml)
- HDFS 포맷 및 실행
- HDFS 명령어
- 파일 업로드, 다운로드, 복사, 삭제 등 기본 명령어 학습
1-3. MapReduce 프로그래밍 기초
- MapReduce 개념
- Mapper와 Reducer의 개념 이해
- 데이터를 키-값 쌍으로 나누고 병렬 처리
- WordCount 예제: MapReduce의 Hello World 프로그램
- MapReduce 프로그래밍 실습
- 간단한 Java 기반 MapReduce 프로그램 작성 및 실행
- Hadoop Streaming을 통한 Python, Bash 등을 이용한 MapReduce 실행
2. 중급 과정
2-1. Hadoop 에코시스템 확장
- Hive: SQL을 사용하여 Hadoop 데이터를 쿼리하는 방법
- HiveQL 기본 구문과 사용 방법
- 데이터 테이블 생성, 조회, 분석
- External Table과 Internal Table의 차이점
- 실습: Hive를 이용한 데이터 분석 및 쿼리
- Pig: 복잡한 데이터 변환을 간단하게 표현
- Pig Latin을 이용한 스크립트 작성
- 데이터 필터링, 그룹핑, 조인 등의 연산 학습
- 실습: Pig를 활용한 데이터 처리
2-2. HDFS 심화
- HDFS의 내부 구조
- NameNode와 DataNode의 역할 및 작동 방식
- Replication 설정과 동작 방식
- Block 크기 설정 및 최적화
- 데이터 처리 최적화
- HDFS 블록 크기 및 리플리케이션 팩터 조정
- Combiner와 Partitioner 사용으로 MapReduce 성능 최적화
- 실습: 블록 크기 및 리플리케이션 팩터 변경 및 성능 비교
2-3. YARN 자원 관리
- YARN 구조 이해
- ResourceManager와 NodeManager의 역할
- YARN 자원 할당 및 스케줄링
- Container와 애플리케이션 실행 흐름
- YARN 클러스터 모니터링 및 관리
- YARN 웹 UI를 통한 클러스터 모니터링
- CapacityScheduler와 FairScheduler 설정
3. 심화 과정
3-1. HBase 및 실시간 데이터 처리
- HBase: Hadoop 기반의 실시간 NoSQL 데이터베이스
- Row와 Column Family 구조 이해
- HBase Shell을 이용한 데이터 조작
- HBase와 MapReduce 통합
- 실습: HBase에 데이터 입력 및 조회
- HBase와 Hive 연동
- HBase 테이블을 Hive 테이블로 활용하는 방법
- 실시간 분석을 위한 HBase와 Hive의 통합 활용
3-2. Hadoop 클러스터 구축 및 관리
- 멀티 노드 클러스터 설정
- 다중 노드를 통한 Hadoop 클러스터 구축
- NameNode 고가용성(HA) 설정
- Secondary NameNode의 역할과 설정 방법
- Hadoop 클러스터 모니터링 및 관리
- Ganglia, Nagios를 이용한 클러스터 모니터링
- Ambari를 통한 Hadoop 클러스터 관리
3-3. Hadoop 성능 최적화
- Job 최적화
- Shuffle and Sort 최적화
- 데이터 로컬리티(Locality) 개선
- 자원 효율적인 YARN 설정
- 클러스터 성능 최적화
- NameNode 메모리 튜닝
- MapReduce 잡의 병렬 처리 최적화
- 실습: 다양한 MapReduce 잡을 통한 성능 테스트 및 최적화 방법 분석
4. 고급 과정
4-1. Spark와 Hadoop 통합
- Apache Spark: Hadoop과의 차이점 및 장점
- RDD(Resilient Distributed Datasets)의 이해
- Spark와 Hadoop YARN 통합
- 실습: Spark를 활용한 데이터 분석 및 최적화
4-2. Hadoop 보안
- Kerberos를 통한 인증 설정
- Kerberos를 이용한 NameNode와 DataNode의 인증
- Hadoop에 TLS(SSL) 적용
- 데이터 암호화 및 사용자 권한 관리
5. 프로젝트 및 실습
5-1. 프로젝트
- 실제 데이터 분석 프로젝트 수행
- 다양한 빅데이터 셋을 활용한 데이터 수집, 저장, 분석 프로젝트 수행
- MapReduce, Hive, Pig, HBase 등을 통합하여 데이터 처리 파이프라인 구축
- YARN과 클러스터 모니터링을 통한 성능 평가 및 최적화
반응형
'공부' 카테고리의 다른 글
[AWS] 윈도우 EC2 AWS CLI로 S3에 파일(폴더) 업로드 하기 (0) | 2025.01.08 |
---|---|
[공부] Windows에서 SFTP 서버 설정하는 방법 (0) | 2024.11.21 |
[공부] Nginx 의 구성요소 및 Config (0) | 2024.11.14 |
[공부] Nginx 와 Apache 차이점 (4) | 2024.11.14 |
[WSL] 윈도우에서 WSL 사용 하기. (0) | 2022.11.15 |
댓글