hadoop

    [Hadoop] YARN Capacity scheduler 특징 및 Queue 옵션

    YARN Scheduler란 YARN Scheduler란 할당시킬 리소스를 결정하는 알고리즘으로써 다양한 설정 값들을 통해 클러스터의 리소스를 효율적으로 사용할 수 있습니다. YARN은 기본적으로 Hadoop 플랫폼에서 작동하는 어플리케이션에 리소스를 할당시키고 관리하는 역할을 맡고 있습니다. 어플리케이션이 제출되어 AM( Application Master )가 생성되면 아래 그림과 같은 절차가 진행됩니다. 이 때 AM이 RM( ResourceManager )에게 리소스 요청을 하면 RM은 Scheduler를 통해 할당시킬 리소스의 양을 결정합니다. YARN Scheduler 종류 Scheduler의 종류로는 아래 3가지가 존재합니다. 이 중 Capacity scheduler가 기본 default 값으로..

    [Hadoop] HDFS NameNode의 Metadata 관리와 Failover 상세 과정

    NameNode HDFS에서 모든 데이터의 metadata를 관리하는 노드. Failover 장애 극복 기능으로써 어떤 시스템의 문제가 발생했을 시, 예비 시스템으로 자동 전환되는 기능. 관련 글 [Hadoop] HDFS - The Hadoop Distributed File System 이번 글에서는 HDFS의 NameNode가 HA(High Availability) 구성된 상태에서 Failover가 일어나는 과정에 대해서 소개하도록 하겠습니다. 공부하면 아시겠지만, HDFS에서는 가장 중요하다고 할 수 있는 metadata를 NameNode가 관리합니다. 그래서 NameNode 서버가 죽게 된다면 이는 곧 HDFS를 사용할 수 없음을 뜻합니다. 그래서 이를 방지하고자 Secondary NameNode를..

    [NiFi] Docker & NiFi로 HDFS 데이터 수집하기

    Docker 내가 원하는 환경의 서버를 container라는 개념으로 쉽게 생성 및 삭제할 수 있는 플랫폼. NiFi 다양한 포맷의 데이터들을 ETL 처리할 수 있는 Flow-Based Programming(FBP) 툴 관련 글 [NiFi] NiFi의 핵심 개념 및 아키텍쳐 [NiFi] Docker로 NiFi 클러스터 구성하기 [NiFi] Docker로 NiFi 클러스터 환경에서 HDFS 데이터 분산 수집하기 이번에는 Docker를 이용해서 NiFi와 HDFS 서비스를 실행시키고 간단한 예제를 실습하겠습니다. 예제는 NiFi에서 Processor를 직접 만들고 HDFS 데이터를 수집할 예정입니다. NiFi & HDFS 서비스 실행하기 docker-compose를 통해 서비스들을 실행하는 방법은 이전 글들..

    [Spark] Spark structured streaming으로 Kafka topic 받기 #2 - Spark 및 Hadoop 서비스 실행하기

    Docker 내가 원하는 환경의 서버를 container라는 개념으로 쉽게 생성 및 삭제할 수 있는 플랫폼. Kafka Publish, Subscribe 모델 구조로 이루어진 분산 메세징 시스템 Spark Streaming Spark API 중 batch와 실시간 streaming이 가능한 Spark API Hadoop & Spark 서비스 실행 이번 글에서는 Docker Compose를 이용하여 Hadoop과 Spark 서비스들을 microservice화 시키도록 하겠습니다. 이전 글에서 구성했던 Kafka와 Zookeeper를 모두 포함하여 yml 파일을 작성하고 "docker compose up -d" 명령어를 실행하도록 하겠습니다. 이때 새로운 폴더에서 진행합니다. docker-compose.ym..

    [Docker] Docker로 Hadoop 구성하기 #3 - Hadoop 클러스터 구성 및 실행

    Docker 내가 원하는 환경의 서버를 container라는 개념으로 쉽게 생성 및 삭제할 수 있는 플랫폼. 관련 글 [Docker] Docker로 Hadoop 구성하기 #1 - MacOS에 Docker 설치 및 CentOS 실행 [Docker] Docker로 Hadoop 구성하기 #2 - Hadoop 설치 및 세팅 이전 글에서 docker의 CentOS container에서 hadoop 설치 및 세팅까지 완료했습니다. 이제는 hadoop 세팅까지 완료된 이미지를 기반으로 다수의 container를 실행해 클러스터를 구성해보겠습니다. 그리고 간단한 wordcount 예제까지 해보겠습니다. Hadoop 클러스터 구성 hadoop 클러스터는 NameNode 1개, DataNode 3개로 구성하겠습니다. 이전..

    [Hadoop] YARN - Yet Another Resource Negotiator

    YARN이란? Cluster 환경에서 resource 관리와 application 실행을 담당하는 component. 이번 글에서 소개할 component는 Hadoop YARN 입니다. Cluster의 resource를 관리하는 역할을 하며 비슷한 역할을 담당하는 component 중에서는 가장 많이 쓰이고 있습니다. YARN이란? Hadoop이 처음 나왔을 때 1.0 버전에서는 여러 component들이 존재하지 않고 MapReduce만 존재했습니다. 그래서 cluster의 resource 관리 및 scheduling과 task 수행을 모두 MapReduce의 JobTracker가 담당했습니다. 하지만 MapReduce 이외의 다양한 component들이 생기고 수행해야하는 application의 수..

    [Docker] Docker로 Hadoop 구성하기 #2 - Hadoop 설치 및 세팅

    Docker 내가 원하는 환경의 서버를 container라는 개념으로 쉽게 생성 및 삭제할 수 있는 플랫폼. 관련 글 [Docker] Docker로 Hadoop 구성하기 #1 - MacOS에 Docker 설치 및 CentOS 실행 [Docker] Docker로 Hadoop 구성하기 #3 - Hadoop 클러스터 구성 및 실행 이전 글에서 docker 설치 및 CentOS container를 생성했다면 이번 글에서는 CentOS에 hadoop 설치 및 세팅을 합니다. docker 로 hadoop cluster를 구성하기 위해선 다수의 서버가 필요합니다. 각각의 서버에 기본적인 프로그램들을 설치하기엔 번거로우니 hadoop-base 라는 이름의 container에 hadoop 과 기타 프로그램들을 설치한 뒤..

    [Docker] Docker로 Hadoop 구성하기 #1 - MacOS에 Docker 설치 및 CentOS 실행

    Docker 내가 원하는 환경의 서버를 container라는 개념으로 쉽게 생성 및 삭제할 수 있는 플랫폼. 관련 글 [Docker] Docker로 Hadoop 구성하기 #2 - Hadoop 설치 및 세팅 [Docker] Docker로 Hadoop 구성하기 #3 - Hadoop 클러스터 구성 및 실행 이번에 해볼 것은 docker 를 이용해 Hadoop cluster 구성하기입니다. Hadoop cluster라는 것이 기본적으로 다수의 컴퓨터가 존재해야 합니다. 같은 환경의 컴퓨터가 여러 대 존재한다면 가능하지만 일반적인 경우에는 다수의 컴퓨터가 존재하지 않고 혹시나 있더라도 전부 똑같은 환경 구성이 되어있는 경우는 극히 드뭅니다. 그래서 이럴 때 가장 유용하게 사용될 수 있는 것이 바로 docker 입..