Hadoop
-
[Hadoop] Docker 로 구축하는 Hadoop ClusterHadoop 2024. 6. 8. 13:08
- 목차 들어가며.이번 글에서는 Docker와 Dockerfile을 사용해 간단히 Hadoop 클러스터를 구축하는 방법을 소개합니다.대규모 데이터 분석을 위해 널리 사용되는 Hadoop 은 일반적으로 복잡한 설치 과정이 필요하지만,Docker를 사용하면 이 과정을 손쉽게 자동화하고 간소화할 수 있습니다.이 글에서는 Dockerfile 을 작성해 필요한 Hadoop 이미지와 컨테이너를 생성하고,이를 바탕으로 최소한의 리소스로 구성된 단일 노드 또는 다중 노드 클러스터를 구축하는 과정을 다룹니다. 도커 파일 작성하기.Hadoop 클러스터를 구축하기 위한 Dockerfile을 작성하는 방법을 알아보겠습니다.이번 설정에서는 Ubuntu를 기본 이미지로 사용하고, Hadoop 설치와 HDFS 설정을 통해 네임노..
-
[Hadoop] HDFS 기본 명령어 알아보기Hadoop 2024. 6. 1. 09:26
- 목차 들어가며.아래는 이전에 작성한 Docker로 Hadoop 클러스터 구축하기 글 링크를 첨부하며,자연스럽게 새로운 블로그 글의 내용을 시작하는 예시입니다. https://westlife0615.tistory.com/881 [Hadoop] Docker 로 구축하는 Hadoop Cluster- 목차 들어가며.이번 글에서는 Docker와 Dockerfile을 사용해 간단히 Hadoop 클러스터를 구축하는 방법을 소개합니다.대규모 데이터 분석을 위해 널리 사용되는 Hadoop 은 일반적으로 복잡한 설치 과정westlife0615.tistory.com 이번 글에서는 HDFS에서 자주 사용하는 기본 명령어들을 다뤄보겠습니다.Hadoop 분산 파일 시스템(HDFS)은 대용량 데이터를 효율적으로 관리하기 위해..
-
[Hadoop] yarn-site.xml 알아보기Hadoop 2024. 3. 3. 12:14
- 목차 들어가며. 이번 글에서는 yarn-site.xml 의 설정들에 대해서 알아보도록 하겠습니다. 아래 링크는 yarn-default.xml 의 상세한 설명이 기록되어 있는 공식 문서의 주소입니다. https://hadoop.apache.org/docs/r3.1.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml yarn-site.xml yarn.nodemanager.resource.memory-mb yarn.nodemanager.resource.memory-mb 는 NodeManager 에서 실행될 컨테이너의 메모리 사이즈를 설정하는 옵션입니다. 만약 yarn.nodemanager.resource.memory-mb 가 -1 로 설정되어 있고 또 다른 옵션인 ya..
-
[YARN] ApplicationMaster 알아보기Hadoop 2024. 2. 28. 21:15
- 목차 ApplicationMaster ? Application Master 는 Yarn Client 에 의해서 요청된 Application 을 생성하고 관리하는 역할을 수행합니다. Application Master 는 실행할 Application 마다 하나씩 생성이 되는데요. A 라는 Job 을 실행하기 위해서 YARN 에게 요청하게 되면, YARN 의 ResourceManager 는 이 실행 요청을 받고, Application Master 를 먼저 생성합니다. 그리고 Application Master 는 A Job 의 실행과 관리를 책임지게 됩니다. 아래 그림처럼 YARN Client 의 Job 실행 요청을 수행하기 위해서 제일 먼저 Resource Manager 는 Application Maste..
-
[Hadoop] HADOOP_USER_NAME 환경변수 알아보기Hadoop 2024. 2. 21. 07:30
- 목차 들어가며. 로컬 환경의 터미널에서 원격의 Hadoop 시스템에게 명령을 요청하는 경우가 종종 생기곤 합니다. 이때에 hdfs dfs 커맨드를 사용하게 되는데 별다른 조치없이 hdfs 커맨드를 사용하게 되면, 실제 로컬 머신의 Active User 가 hdfs File System 의 사용자로 설정됩니다. 이를 방지하는 방법에 대해서 알아보도록 하겠습니다. 간단히 Hadoop 실행하기. 아래의 링크는 docker-compose 를 통해서 간단히 Hadoop Cluster 를 생성하는 내용의 페이지입니다. https://westlife0615.tistory.com/20 [Hadoop] Docker 로 Hadoop Cluster 실행하기 ( docker-compose ) - 목차 소개. 하둡을 이해하..
-
[Hadoop] MapReduce Combiner 알아보기Hadoop 2024. 2. 11. 10:26
- 목차 Combiner 란 ? Combiner 의 내부 동작은 Reducer 와 유사합니다. 다만 차이가 있다면, 실행되는 노드의 위치입니다. Combiner 는 Mapper 가 위치한 노드에서 실행됩니다. 그래서 Combiner 는 보통 최적화 기법으로 사용되는데요. Reducer 가 수행해야할 작업을 Combiner 단계에서 미리 처리하여 Shuffling 되는 데이터의 양을 줄일 수 있습니다. 유명한 예시인 Word Count 관련 MapReduce 를 예로 들면, 중복이 많은 Word 에 대한 Count 를 계산할 때에 Combiner 가 존재하지 않는다면 모든 Key-Value Pairs 는 Shuffling 의 대상이 됩니다. 이 과정에서 Combiner 는 중복적인 Word 를 일차적으로 ..
-
[Hadoop] MapReduce Configuration 알아보기Hadoop 2024. 2. 3. 11:32
- 목차 들어가며. 이번 글에서는 Configuration File 을 JVM 데이터로 Deserialization 하는 내용에 대해서 다루어보려고 합니다. 여타 Java Application 은 Resources 하위의 Configuration 파일 내용을 Application 내부에서 사용하곤 합니다. Hadoop 의 MapReduce 에서 org.apache.hadoop.conf.Configuration 의 여러 사용법에 대해서 다루어보도록 하겠습니다. Deserialize Configuration. 먼저 configuration.xml 파일을 작성해보겠습니다. User 데이터를 표현하는 XML 을 구성하였구요. name, age, gender, full-desc 4개의 key-value 로 구성됩..
-
[Hadoop] Secondary NameNode 알아보기Hadoop 2024. 1. 30. 08:08
- 목차 들어가며. 이번 글에서는 Secondary NameNode 에 대해서 알아보는 시간을 가지겠습니다. Hadoop 은 크게 NameNode 와 DataNode 로 구성됩니다. 하나의 파일을 Hadoop 에 저장하게 되면, 파일은 여러 블록들로 나뉘어져 저장됩니다. 이러한 나누어진 블록들은 분산된 DataNode 들에 저장됩니다. 하나의 온전한 파일이 여러 Block 들로 분리되고, 분리된 Block 들은 분산된 DataNode 로 저장됩니다. 이 상황에서 NameNode 는 분산된 Block 들이 어떤 DataNode 에 저장되어 있는지, 파일과 블록의 크기는 어떤지에 대한 메타데이터를 관리하게 됩니다. 그래서 클라이어트가 어떤 파일을 요청하게 되면 NameNode 는 파일의 블록들의 위치 정보를..
-
Zookeeper Ensemble 알아보기 (Leader Election, Sequential Znode)Hadoop 2023. 12. 19. 04:44
- 목차 소개. ZooKeeper Ensemble 에 대해서 알아보려고 합니다. ZooKeeper 들로 구성된 하나의 클러스터이며, Leader-Follower 구성을 따릅니다. 하나의 Leader 가 존재하고, 나머지 ZooKeeper 서버들은 Follower 가 됩니다. 그래서 Leader 를 Replication 하죠. Leader ZooKeeper 가 전적으로 Znode 의 Write, Update, Delete 요청을 책임지며, 카프카나 하둡에 해당하는 클라이언트와 소통하게 됩니다. 그리고 ZooKeeper Ensemble 에서 Leader Election 또한 매우 중요한 부분인데요. 이 과정에서 사용되는 Sequential Znode 에 대해서도 알아보려고 합니다. ZooKeeper Ense..
-
Zookeeper Watch Mechanism 알아보기Hadoop 2023. 12. 19. 04:44
- 목차 소개. Zookeeper 의 Watch Mechanism 은 클라이언트와 주키퍼의 양방향 통신을 가능하게 합니다. 클라이언트는 znode 를 생성/수정/삭제/조회를 할 수 있습니다. 주키퍼는 이러한 클라이언트의 read/write 요청을 처리합니다. 그리고 주키퍼 또한 클라이언트에게 znode 의 상태를 공유할 수 있는데요. 이러한 방식으로 znode 상태 변경에 대한 이벤트를 주키퍼는 클라이언트에게 전달합니다. 카프카나 하둡의 네임노드와 같이 HA 를 구성해야하는 환경에서 주키퍼는 사용되는데요. 이번 글에서 주키퍼의 watch mechanism 에 대해서 알아보겠습니다. 어떤 방식으로 소통하게 될까? 클라이언트가 서버로부터 데이터를 받는 방식은 크게 2가지가 있습니다. 첫번째는 Polling ..