Hadoop 생태계 및 구성 요소: 종합 자습서 2022
게시 됨: 2021-01-04Hadoop은 빅 데이터 프로세스에 사용되는 오픈 소스 프레임워크입니다. 그것은 거대하고 많은 구성 요소를 가지고 있습니다. 이러한 구성 요소 각각은 특정 빅 데이터 작업 집합을 수행합니다. Hadoop의 방대한 솔루션 컬렉션은 Hadoop을 업계의 필수 요소로 만들었습니다. 그리고 빅 데이터 전문가가 되려면 빅 데이터의 모든 구성 요소에 익숙해져야 합니다.
하지만 걱정하지 마세요. 이 기사에서는 이러한 모든 구성요소를 살펴볼 것입니다.
목차
Hadoop 핵심 구성 요소는 무엇입니까?
Hadoop 핵심 구성 요소는 성능을 제어하며 해당 에코시스템의 다른 섹션을 사용하기 전에 이에 대해 배워야 합니까? Hadoop의 생태계는 방대하고 많은 도구로 가득 차 있습니다. 핵심 구성 요소의 또 다른 이름은 모듈입니다. 주로 다음이 있습니다
Hadoop 핵심 구성 요소:
1. HDFS
HDFS의 전체 형태는 Hadoop 분산 파일 시스템입니다. 데이터 스토리지와 관련하여 Hadoop의 가장 중요한 구성 요소입니다. HDFS를 사용하면 분산 저장 장치 네트워크에 데이터를 저장할 수 있습니다. 저장된 데이터를 읽고 그에 따라 분석할 수 있는 도구 세트가 있습니다. HDFS를 사용하면 컴퓨터의 운영 체제에 관계없이 데이터 수집을 수행할 수 있습니다. HDFS 및 아키텍처에 대해 자세히 알아보십시오.
운영 체제에 대해 걱정할 필요가 없으므로 새로운 운영 체제를 만날 때마다 시스템을 수정할 필요가 없기 때문에 더 높은 생산성으로 작업할 수 있습니다. HDFS는 다음 구성 요소로 구성됩니다.

- 네임노드
- 데이터노드
- 보조 네임노드
네임 노드는 HDFS에서 '마스터'라고도 합니다. 데이터 저장을 추적하기 위해 슬레이브 노드의 메타데이터를 저장합니다. 어디에 무엇이 저장되어 있는지 알려줍니다. 마스터 노드는 슬레이브 노드의 상태도 모니터링합니다. 데이터 노드에도 작업을 할당할 수 있습니다. 데이터 노드는 데이터를 저장합니다. 데이터 노드는 HDFS에서 '슬레이브'라고도 합니다.
슬레이브 노드는 마스터 노드의 상태 요청에 응답하여 상태를 알려줍니다. 슬레이브 노드가 마스터 노드의 상태 요청에 응답하지 않는 경우 마스터 노드는 죽은 것으로 보고하고 작업을 다른 데이터 노드에 할당합니다.
네임 노드와 슬레이브 노드 외에도 세 번째 노드인 Secondary Name Node가 있습니다. 마스터 노드에 대한 버퍼입니다. 마스터 노드가 활성화되지 않은 경우 데이터를 FinalFS 이미지로 업데이트합니다.
2. 맵리듀스
MapReduce는 Hadoop의 두 번째 핵심 구성 요소로 Map과 Reduce의 두 가지 작업을 수행할 수 있습니다. Mapreduce는 빅 데이터 여정을 쉽게 만들 수 있는 최고의 Hadoop 도구 중 하나입니다. 매핑은 데이터베이스에 있는 데이터를 읽고 더 접근 가능하고 기능적인 형식으로 전송하는 것을 말합니다. 매핑을 통해 시스템은 데이터의 형식을 변경하여 분석에 사용할 수 있습니다. 그런 다음 수학 함수인 감소가 나옵니다. 더 나은 분석을 위해 매핑된 데이터를 정의된 데이터 세트로 축소합니다.
키와 값 쌍을 구문 분석하고 기능을 위해 튜플로 줄입니다. MapReduce는 데이터 정렬 및 데이터 필터링과 같은 Hadoop의 많은 작업을 돕습니다. 두 구성 요소가 함께 작동하고 데이터 준비를 지원합니다. MapReduce는 또한 작업의 모니터링 및 예약을 처리합니다.
Hadoop 생태계의 컴퓨터 노드 역할을 합니다. 주로 MapReduce는 빅 데이터 작업을 작은 작업 그룹으로 나누는 작업을 처리합니다. 다양한 프로그래밍 언어를 사용할 수 있으므로 MapReduce 작업을 효율적으로 실행할 수 있습니다. Python, C++ 및 Java를 사용하여 응용 프로그램을 작성할 수 있습니다. 빠르고 확장 가능하기 때문에 Hadoop 에코시스템의 핵심 구성 요소입니다.
3. 원사
YARN은 Yet Another Resource Negotiator의 약자입니다. Hadoop에서 리소스 관리를 처리합니다. 리소스 관리도 중요한 작업입니다. 이것이 YARN이 필수 Hadoop 구성 요소 중 하나인 이유입니다. Hadoop의 워크로드를 모니터링하고 관리합니다. YARN은 확장성과 민첩성이 뛰어납니다. 또 다른 중요한 이점인 클러스터 활용을 위한 고급 솔루션을 제공합니다. Hadoop YARN 아키텍처에 대해 자세히 알아보세요.
YARN은 여러 구성 요소로 구성됩니다. 그 중 가장 중요한 것은 Resource Manager입니다. 리소스 관리자는 Hadoop 클러스터의 리소스를 처리할 수 있는 유연하고 일반적인 프레임워크를 제공합니다. 리소스 관리자의 다른 이름은 마스터입니다. 노드 관리자는 YARN의 또 다른 중요한 구성 요소입니다.
앱 관리자와 YARN의 컨테이너 상태를 모니터링합니다. 모든 데이터 처리는 컨테이너에서 이루어지며 컨테이너가 데이터 처리 작업을 수행하기 위해 더 많은 리소스가 필요한 경우 앱 관리자는 이 프로세스를 관리합니다. 앱 관리자는 리소스 관리자에게 동일한 리소스를 요청합니다.
4. 하둡 커먼
Apache는 다양한 모듈과 함께 사용할 수 있는 Hadoop 에코시스템에 많은 라이브러리와 유틸리티를 추가했습니다. Hadoop Common을 사용하면 운영 체제 호환성이나 하드웨어 문제에 직면하지 않고 컴퓨터가 Hadoop 네트워크에 참여할 수 있습니다. 이 구성 요소는 Java 도구를 사용하여 플랫폼이 필요한 시스템 내에 데이터를 저장할 수 있도록 합니다.

시스템에 표준 기능을 제공하기 때문에 Hadoop Common이라는 이름을 얻습니다.
역할에 따른 Hadoop 구성 요소
이제 Hadoop 핵심 구성 요소를 살펴보았으므로 다른 부분에 대한 논의를 시작하겠습니다. 앞서 언급했듯이 Hadoop에는 방대한 도구 모음이 있으므로 Hadoop 생태계에서 역할에 따라 도구를 나눴습니다. 시작하자:
데이터 저장
사육사
Zookeeper는 명명 규칙, 구성, 동기화 및 Hadoop 클러스터의 기타 정보를 관리하는 데 도움이 됩니다. 생태계의 오픈 소스 중앙 집중식 서버입니다.
H카탈로그
HCatalog는 데이터를 Binary 형식으로 저장하고 Hadoop에서 테이블 관리를 처리합니다. 이를 통해 사용자는 HIVE에 저장된 데이터를 사용하여 작업에 데이터 처리 도구를 사용할 수 있습니다. Kerberos를 기반으로 인증을 수행할 수 있으며 데이터 번역 및 해석에 도움이 됩니다.
HDFS
우리는 이미 HDFS에 대해 논의했습니다. HDFS는 Hadoop Distributed File System의 약자이며 Hadoop에서 데이터 저장을 처리합니다. 수평 및 수직 확장성을 지원합니다. 내결함성이 있으며 일부 오류로 인해 데이터가 손실될 경우에 대비하여 데이터 복사본을 유지하는 복제 요소가 있습니다.
실행 엔진
불꽃
Hadoop에서 마이크로 배치 처리를 위해 Spark를 사용합니다. ETL 및 실시간 데이터 스트리밍을 수행할 수 있습니다. 80명의 상위 오퍼레이터를 지원할 수 있어 매우 민첩합니다. 클러스터 컴퓨팅 프레임워크입니다. Apache Spark 애플리케이션에 대해 자세히 알아보세요.
맵리듀스
이 언어 독립적인 모듈을 사용하면 복잡한 데이터를 분석에 사용할 수 있는 데이터로 변환할 수 있습니다. 데이터 매핑 및 축소를 수행하므로 데이터의 정렬 및 필터링을 포함하여 다양한 작업을 수행할 수 있습니다. 데이터 로컬 처리도 수행할 수 있습니다.
테즈
Tez를 사용하면 동시에 여러 MapReduce 작업을 수행할 수 있습니다. 데이터 처리 및 일괄 처리를 수행하는 데 도움이 되는 데이터 처리 프레임워크입니다. 재구성을 계획하고 데이터 흐름과 관련하여 효과적인 결정을 내리는 데 도움이 될 수 있습니다. 리소스 관리에 적합합니다.
데이터베이스 관리
임팔라
Hadoop 클러스터에서 Impala를 사용합니다. Hive의 메타 스토어와 결합하여 필요한 정보를 공유할 수 있습니다. SQL 인터페이스를 배우기 쉽고 큰 노력 없이 빅데이터를 조회할 수 있습니다.
하이브
이 Hadoop 구성 요소의 개발자는 Facebook입니다. SQL과 매우 유사하며 데이터 분석, 요약, 쿼리를 수행할 수 있는 HiveQL을 사용합니다. 인덱싱을 통해 Hive는 데이터 쿼리 작업을 더 빠르게 만듭니다.
HBase
HBase는 데이터를 저장하기 위해 HDFS를 사용합니다. 열 중심 데이터베이스입니다. NoSQL 데이터베이스는 수십만(또는 수백만)의 열과 행을 가질 수 있는 거대한 테이블을 생성할 수 있습니다. 데이터 세트에 대한 읽기 또는 쓰기 액세스가 필요한 경우 HBase를 사용해야 합니다. Facebook은 HBase를 사용하여 메시지 플랫폼을 실행합니다.
아파치 드릴
Apache Drill을 사용하면 여러 데이터 세트를 결합할 수 있습니다. 다양한 NoSQL 데이터베이스를 지원할 수 있으므로 매우 유용합니다. 그것은 높은 확장성을 가지고 있으며 많은 사용자를 쉽게 도울 수 있습니다. SQL과 유사한 모든 분석 작업을 쉽게 수행할 수 있습니다. 또한 시스템 내에서 종단 간 보안을 유지하기 위한 인증 솔루션이 있습니다.
추출
아파치 스쿱
Apache Sqoop을 사용하여 외부 소스에서 HDFS 또는 HBase와 같은 Hadoop의 데이터 저장소로 데이터를 가져올 수 있습니다. 이를 사용하여 Hadoop의 데이터 저장소에서 외부 데이터 저장소로 데이터를 내보낼 수도 있습니다. 데이터를 병렬로 전송하는 Sqoop의 기능은 리소스에 대한 과도한 부하를 줄이고 고효율로 데이터를 가져오거나 내보낼 수 있도록 합니다. 데이터 복사에도 Sqoop을 사용할 수 있습니다.
아파치 돼지
Yahoo에서 개발한 Apache pig는 대규모 데이터 세트의 분석을 돕습니다. 필요한 작업을 원활하고 효율적으로 수행하기 위해 언어인 Pig Latin을 사용합니다. 방대한 데이터 세트를 처리해야 하는 경우 Pig 프로그램의 구조를 병렬화할 수 있으므로 Pig는 데이터 분석을 위한 탁월한 솔루션입니다. 더 많은 것을 이해하려면 Apache pig 튜토리얼을 활용하십시오.
데이터 스트리밍
수로
Flume을 사용하면 방대한 양의 데이터를 수집할 수 있습니다. 수집된 데이터를 HDFS로 보내는 데이터 수집 솔루션입니다. 채널, 소스 및 마지막으로 싱크의 세 가지 섹션이 있습니다. Flume에는 데이터 흐름을 실행하는 에이전트가 있습니다. 이 흐름에 있는 데이터를 이벤트라고 합니다. Twitter는 트윗 스트리밍에 Flume을 사용합니다.

카프카
Apache Kafka는 분산 공개 메시징을 위한 내구성 있고 빠르며 확장 가능한 솔루션입니다. LinkedIn은 이 강력한 도구의 개발 뒤에 있습니다. 주제 내에서 대량의 메시지 피드를 유지 관리합니다. 많은 기업에서 데이터 스트리밍에 Kafka를 사용합니다. MailChimp, Airbnb, Spotify 및 FourSquare는 이 강력한 도구의 저명한 사용자 중 일부입니다.
자세히 알아보기 – Hadoop 구성 요소
이 가이드에서는 모든 Hadoop 구성 요소를 간략하게 살펴보고 완전히 익숙해지도록 했습니다. Hadoop 구성 요소 및 해당 아키텍처에 대해 자세히 알아보려면 유용한 데이터 과학 기사로 가득한 블로그를 방문하는 것이 좋습니다.
빅 데이터에 대해 더 알고 싶다면 PG 디플로마 빅 데이터 소프트웨어 개발 전문화 프로그램을 확인하십시오. 이 프로그램은 실무 전문가를 위해 설계되었으며 7개 이상의 사례 연구 및 프로젝트를 제공하고 14개 프로그래밍 언어 및 도구, 실용적인 실습을 다룹니다. 워크샵, 400시간 이상의 엄격한 학습 및 최고의 기업과의 취업 지원.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정 을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.