빅 데이터 개요 및 Hadoop 에코 시스템
기사 디렉토리
빅 데이터 란?
- 빅 데이터는 일정 기간 내에 기존 소프트웨어 도구로 콘텐츠를 캡처, 관리 및 처리 할 수없는 데이터 모음입니다.
빅 데이터 기능
4V 기능
- 볼륨 (대용량 데이터 볼륨) : 지난 2 년 동안 데이터의 90 %가 생성되었습니다.
- 속도 (빠름) : 데이터 증가가 빠르고 적시성이 높습니다.
- 다양성 : 데이터 유형 및 소스의 다양 화
- 구조화 된 데이터, 반 구조화 된 데이터, 구조화되지 않은 데이터
- 값 (낮은 값 밀도) : 데이터 값을 얻기 위해 채굴 필요
고유 한 특성
적시
불변성
분산 컴퓨팅
분산 컴퓨팅은 처리를 위해 더 큰 데이터를 더 작은 부분으로 나눕니다.
**** | 전통적인 분산 컴퓨팅 | 새로운 분산 컴퓨팅 -Hadoop |
---|---|---|
계산 | 컴퓨팅 노드에 데이터 복사 | 다른 데이터 노드에서 병렬 컴퓨팅 |
처리 할 수있는 데이터의 양 | 소량의 데이터 | 많은 양의 데이터 |
CPU 성능 제한 | CPU에 의해 크게 제한됨 | 단일 장치로 제한됨 |
컴퓨팅 능력 향상 | 단일 시스템의 컴퓨팅 성능 향상 | 저비용 서버 클러스터 확장 |
Hadoop이란 무엇입니까?
-
Hadoop은 오픈 소스 분산 시스템 아키텍처입니다.
- 분산 파일 시스템 HDFS 해결 빅 데이터 스토리지
- 분산 컴퓨팅 프레임 워크 MapReduce 해결 빅 데이터 컴퓨팅
- 분산 자원 관리 시스템 YARN
-
대용량 데이터 처리를위한 선호 아키텍처
-
빅 데이터 컴퓨팅 작업을 매우 빠르게 완료
-
Hadoop 생태계로 발전했습니다.
Hadoop 개발 및 버전
-
Hadoop은 검색 엔진 Apache Nutch에서 시작되었습니다.
- 설립자 : Doug Cutting
- 2004- 초기 버전 구현
- 2008- 최고 아파치 프로젝트되기
-
Hadoop 릴리스 버전
- 커뮤니티 에디션 : Apache Hadoop
- Cloudera 릴리스 : CDH
- Hortonworks 릴리스 : HDP
왜 Hadoop을 사용합니까?
- 높은 확장 성 및 확장 성
- 높은 신뢰성
- 다중 복사 메커니즘, 높은 내결함성
- 저렴한 비용
- 비공유 아키텍처
- 유연성, 모든 유형의 데이터 저장 가능
- 오픈 소스, 활발한 커뮤니티
Hadoop 대 RDBMS
Hadoop 및 관계형 데이터베이스 비교
**** | RDBMS | 하둡 |
---|---|---|
체재 | 데이터를 쓸 때 필요 | 데이터를 읽을 때 필요 |
속도 | 빠른 데이터 읽기 | 빠른 데이터 쓰기 속도 |
데이터 감독 | 표준 구조 | 임의 구조 데이터 |
데이터 처리 | 제한된 처리 능력 | 강력한 처리 능력 |
데이터 유형 | 구조화 된 데이터 | 구조화, 반 구조화, 비 구조화 |
애플리케이션 시나리오 | 대화 형 OLAP 분석 ACID 트랜잭션 처리 엔터프라이즈 비즈니스 시스템 | 비정형 데이터 처리, 대용량 데이터 저장 및 계산 |
Hadoop 생태계
-
Hadoop 코어
HDFS, MapReduce, YARN, 공통 공용 패키지, 코어 -
데이터 쿼리 및 분석
Hive, Pig, Impala, Presto -
관리 조정
HCatalog, 사육사, 암 바리
-
데이터 마이그레이션
Flume (실시간 지원), Sqoop
Spark, NoSQK, 기계 학습, 작업 예약 등
사육사
- 분산 응용 프로그램 조정 서비스입니다.
- 분산 클러스터에서 애플리케이션 시스템의 일관성 문제 해결
- 제공되는 기능
- 구성 관리, 이름 지정 서비스, 분산 동기화, 대기열 관리, 클러스터 관리 등
- 특성
- 글로벌 데이터 일관성
- 신뢰성, 시퀀스, 실시간
- 데이터 업데이트 원 자성
- 사육사 클러스터
- 역할 : 리더, 추종자, 관찰자
Hadoop 아키텍처
- HDFS (Hadoop 분산 파일 시스템)
- 분산 스토리지를 해결하기위한 분산 파일 시스템
- MapReduce
- 분산 컴퓨팅 프레임 워크
- 실
- 분산 자원 관리 시스템
- Hadoop 2.x에 도입 됨
- 흔한
- 다른 모든 모듈을 지원하는 공통 유틸리티 프로그램
HDFS
HDFS 기능
- HDFS 장점
- 매우 큰 파일 처리 지원
- 저렴한 기계에서 실행 가능
- 높은 내결함성
- 스트리밍 파일 쓰기
- HDFS 단점
- 지연 시간이 짧은 데이터 액세스 시나리오에 적합하지 않음
- 소규모 파일 액세스 시나리오에 적합하지 않음
- 전송 및 쓰기 결합, 임의 파일 수정 시나리오에 적합하지 않음
HDFS CLI (명령 줄)
- 기본 형식
hdfs dfs -cmd
hadoop fs -cmd (구식) - Linux 명령 및 유사
-ls
-mkdir
-put
-rm
-help
hdfs dfsadmin
dfsadmin 명령은 HDFS 클러스터를 관리하는 데 사용됩니다.
명령 | 기술 |
---|---|
hdfs dfsadmin-보고서 | 클러스터 상태 정보 반환 |
hdfs dfsadmin -safemode 들어가기 / 나가기 | 안전 모드 시작 및 종료 |
hdfs dfsadmin -saveNamespace | 클러스터의 네임 스페이스 저장 |
hdfs dfsadmin -rollEdits | 편집 로그 롤백 |
hdfs dfsadmin -refreshNodes | 노드 새로 고침 |
hdfs dfsadmin -getDatanodeInfo 노드 1 : 8010 | 데이터 노드 정보 가져 오기 |
hdfs dfsadmin -setQuota 10 / h **** dfs | 파일 디렉터리 할당량 설정 |
HDFS 역할
- 클라이언트 : 클라이언트
- NameNode (NN) : 메타 데이터 노드
- 파일 시스템의 네임 스페이스 / 메타 데이터 관리
- HDFS 클러스터에는 하나의 활성 NN 만 있습니다.
- DataNode (DN) : 데이터 노드
- 데이터 저장 노드, 블록 저장 및 검색
- 클러스터는 여러 데이터 노드를 가질 수 있습니다.
- Secondary NameNode (SNN) : 메타 데이터 노드에서
- NameNode의 편집 로그를 fsimage 파일에 병합합니다.
- 메모리에 메타 데이터 정보를 유지하도록 NN 지원
HDFS 아키텍처
HDFS 복사 메커니즘
- 블록 : 데이터 블록
- HDFS의 가장 기본적인 저장 장치
- 기본 블록 크기 : 128M (2.x)
- 복사 메커니즘
- 역할 : 데이터 손실 방지
- 기본 복사 매수는 3입니다.
- 저장 메커니즘 :
- 로컬 랙의 노드
- 동일한 랙에있는 다른 노드
- 다른 랙의 노드
HDFS 고 가용성 (고 가용성)
- 1.x 버전
- 네임 노드의 단일 지점 문제
- 2.x 버전
- 솔루션 : HDFS 연합 방법, DN 리소스 공유
- 활성 네임 노드
- 외부 서비스
- 대기 네임 노드
- 실패하면 활성을 활성으로 전환 할 수 있습니다.
HDFS 읽기 파일
HDFS 쓰기 파일
HDFS 파일 형식
- HDFS는 다양한 형식으로 모든 유형의 파일 저장을 지원합니다.
- 텍스트, 바이너리
- 비 압축, 압축
- 최적의 Map-Reduce 처리를 위해 파일을 분할 할 수 있어야합니다.
- SequenceFile
- Avro 파일
- RCFile & ORCFile
- 마루 파일