하둡이란 무엇입니까? 소개, Archi강의, Ecos시스템, 구성요소

하둡이란?

Apache Hadoop은 분산 컴퓨팅 환경에서 실행되는 데이터 처리 애플리케이션을 개발하는 데 사용되는 오픈 소스 소프트웨어 프레임워크입니다.

HADOOP를 사용하여 구축된 애플리케이션은 상용 컴퓨터 클러스터에 분산된 대규모 데이터 세트에서 실행됩니다. 상용 컴퓨터는 저렴하고 널리 사용 가능합니다. 이는 주로 저렴한 비용으로 더 큰 계산 능력을 달성하는 데 유용합니다.

개인용 컴퓨터 시스템의 로컬 파일 시스템에 상주하는 데이터와 유사하게 Hadoop에서는 데이터가 분산 파일 시스템에 상주합니다. Hadoop 분산 파일 시스템. 처리 모델은 다음을 기반으로 합니다. '데이터 지역성' 데이터를 담고 있는 클러스터 노드(서버)에 연산 로직을 보내는 개념이다. 이 계산 논리는 아무것도 아니지만 Java와 같은 고급 언어로 작성된 프로그램의 컴파일된 버전입니다. 이러한 프로그램은 Hadoop HDFS에 저장된 데이터를 처리합니다.

당신은 알고 계십니까? 컴퓨터 클러스터는 서로 연결되어 단일 시스템처럼 작동하는 여러 처리 장치(저장 디스크 + 프로세서) 세트로 구성됩니다.

하둡 EcoS시스템 및 구성 요소

아래 다이어그램은 Hadoop의 다양한 구성 요소를 보여줍니다. ecos시스템-

하둡 EcoS시스템 및 구성 요소

Apache Hadoop은 두 개의 하위 프로젝트로 구성됩니다.

  1. Hadoop 맵리듀스: MapReduce는 Hadoop에서 실행되는 애플리케이션을 작성하기 위한 계산 모델이자 소프트웨어 프레임워크입니다. 이러한 MapReduce 프로그램은 대규모 계산 노드 클러스터에서 막대한 데이터를 병렬로 처리할 수 있습니다.
  2. HDFS (하둡 분산 파일 시스템): HDFS는 Hadoop 애플리케이션의 스토리지 부분을 관리합니다. MapReduce 애플리케이션은 HDFS의 데이터를 사용합니다. HDFS는 데이터 블록의 여러 복제본을 생성하여 클러스터의 컴퓨팅 노드에 배포합니다. 이 분포를 사용하면 안정적이고 매우 빠른 계산이 가능합니다.

Hadoop은 MapReduce 및 해당 분산 파일 시스템인 HDFS로 가장 잘 알려져 있지만, 이 용어는 분산 컴퓨팅 및 대규모 데이터 처리에 속하는 관련 프로젝트 제품군에도 사용됩니다. 기타 Hadoop 관련 프로젝트 아파치 포함하다 Hive, HBase, Mahout, Sqoop, Flume 및 ZooKeeper.

하둡 Archi강의

하둡 Archi강의
높은 수준의 하둡 Archi강의

Hadoop에는 마스터-슬레이브가 있습니다. Archi이를 이용한 데이터 저장 및 분산 데이터 처리 강의 MapReduce 및 HDFS 방법.

네임노드:

NameNode는 네임스페이스에서 사용되는 모든 파일과 디렉터리를 나타냅니다.

데이터노드:

DataNode를 사용하면 HDFS 노드의 상태를 관리하고 블록과 상호 작용할 수 있습니다.

마스터노드:

마스터 노드를 사용하면 Hadoop MapReduce를 사용하여 데이터의 병렬 처리를 수행할 수 있습니다.

슬레이브 노드:

슬레이브 노드는 Hadoop 클러스터의 추가 시스템으로, 데이터를 저장하여 통신을 수행할 수 있습니다.plex 계산. 또한 모든 슬레이브 노드에는 Task Tracker 및 DataNode가 함께 제공됩니다. 이를 통해 다음을 수행할 수 있습니다. syncNameNode 및 Job Tracker를 사용하여 프로세스를 각각 기록합니다.

Hadoop에서는 마스터 또는 슬레이브 시스템을 클라우드 또는 온프레미스에 설정할 수 있습니다.

'하둡'의 특징

• 빅데이터 분석에 적합

빅데이터는 본질적으로 분산되고 구조화되지 않는 경향이 있으므로 HADOOP 클러스터는 빅데이터 분석에 가장 적합합니다. 컴퓨팅 노드로 흐르는 처리 로직(실제 데이터가 아님)이므로 네트워크 대역폭이 덜 소모됩니다. 이 개념은 다음과 같이 불린다. 데이터 지역성 개념 이는 Hadoop 기반 애플리케이션의 효율성을 높이는 데 도움이 됩니다.

• 확장성

HADOOP 클러스터는 추가 클러스터 노드를 추가하여 어느 정도까지 쉽게 확장할 수 있으므로 빅 데이터의 증가를 허용합니다. 또한 확장에는 애플리케이션 로직 수정이 필요하지 않습니다.

• 결함 허용

하둡 ecosystem에는 입력 데이터를 다른 클러스터 노드에 복제하는 기능이 있습니다. 이렇게 하면 클러스터 노드에 장애가 발생하더라도 다른 클러스터 노드에 저장된 데이터를 이용하여 데이터 처리를 계속 진행할 수 있습니다.

Hadoop의 네트워크 토폴로지

네트워크의 토폴로지(배열)는 Hadoop 클러스터의 크기가 커질 때 Hadoop 클러스터의 성능에 영향을 미칩니다. 성능 외에도 고가용성 및 오류 처리에도 신경을 써야 합니다. 이러한 Hadoop을 달성하기 위해 클러스터 형성에서는 네트워크 토폴로지를 활용합니다.

Hadoop의 네트워크 토폴로지

일반적으로 네트워크 대역폭은 네트워크를 구성하는 동안 고려해야 할 중요한 요소입니다. 그러나 대역폭 측정이 어려울 수 있으므로 Hadoop에서는 네트워크를 트리로 표현하고 이 트리의 노드 간 거리(홉 수)가 Hadoop 클러스터 형성에 중요한 요소로 간주됩니다. 여기서 두 노드 사이의 거리는 가장 가까운 공통 조상까지의 거리의 합과 같습니다.

Hadoop 클러스터는 데이터센터, 랙, 실제로 작업을 수행하는 노드로 구성됩니다. 여기서 데이터센터는 랙으로 구성되고, 랙은 노드로 구성됩니다. 프로세스에 사용 가능한 네트워크 대역폭은 프로세스 위치에 따라 달라집니다. 즉, 사용 가능한 대역폭은 다음에서 멀어질수록 줄어듭니다.

  • 동일한 노드의 프로세스
  • 동일한 랙에 있는 다른 노드
  • 동일한 데이터 센터의 서로 다른 랙에 있는 노드
  • 다양한 데이터 센터의 노드