전체 글
-
Hadoop Cluster SetupHADOOP 이야기 2021. 5. 10. 17:21
1. Purpose 이 문서에서는 몇 개의 노드에서 수천 개의 노드가있는 초대형 클러스터에 이르는 Hadoop 클러스터를 설치하고 구성하는 방법을 설명합니다. Hadoop을 사용하려면 먼저 단일 시스템에 Hadoop을 설치해야합니다 (단일 노드 설정 참조). 이 문서는 보안 또는 고가용 성과 같은 고급 주제를 다루지 않습니다. 2. Prerequisites (전제조건) Java를 설치하십시오. 알려진 양호한 버전은 Hadoop Wiki를 참조하십시오. Apache 미러에서 안정적인 버전의 Hadoop 다운로드 3. Installation Hadoop 클러스터를 설치하려면 일반적으로 클러스터의 모든 시스템에서 소프트웨어의 압축을 풀거나 운영 체제에 적합한 패키징 시스템을 통해 설치합니다. 하드웨어를 기능으..
-
HDFS High AvailabilityHADOOP 이야기/HDFS 2021. 5. 4. 17:31
1. Purpose(목적) 이 가이드에서는 NameNode에 필요한 공유 스토리지에 NFS를 사용하여 HDFS HA(High Availability) 기능에 대한 개요와 HA HDFS 클러스터를 구성하고 관리하는 방법을 제공합니다. 이 문서에서는 HDFS 클러스터의 일반 구성 요소와 노드 유형에 대해 일반적으로 이해하고 있다고 가정합니다. 2. Background (배경) Hadoop 2.0.0 이전의 NameNode는 HDFS 클러스터에서 단일 장애 지점(SPOF)이었습니다. 각 클러스터에는 단일 NameNode가 있으며, 해당 시스템 또는 프로세스를 사용할 수 없게 되면 NameNode가 재시작되거나 별도의 시스템에서 실행될 때까지 클러스터를 전체적으로 사용할 수 없게 됩니다. 이는 HDFS 클러스터..
-
HDFS ArchitectureHADOOP 이야기/HDFS 2021. 5. 3. 17:36
1. Introduction HDFS(Hadoop Distributed File System)는 범용 하드웨어에서 실행되도록 설계된 분산 파일 시스템이다. 기존 분산 파일 시스템과 유사한 점이 많습니다. 그러나 다른 분산 파일 시스템과의 차이는 매우 큽니다. HDFS는 내결함성이 뛰어나며 저비용 하드웨어에 구현되도록 설계되었습니다. HDFS는 애플리케이션 데이터에 대한 높은 처리량 액세스를 제공하며, 대용량 데이터 세트가 있는 애플리케이션에 적합합니다. HDFS는 파일 시스템 데이터에 대한 스트리밍 액세스를 지원하기 위해 몇 가지 POSIX 요구 사항을 완화합니다. HDFS는 원래 아파치 너치 웹 검색 엔진 프로젝트를 위한 인프라로 구축되었다. HDFS는 Apache Hadoop Core 프로젝트의 일부..
-
AWS EC2 서버 설정(자바설치, 타임존 변경, HOSTNAME 변경)AWS 이야기 2021. 4. 14. 17:37
자바설치, 타임존 변경, HOSTNAME 변경 자바설치 방법 AWS에서 설치 가능한 자바 버전 리스트를 확인하고, 받고자 하는 자바 버전을 설치 합니다. // 설치 가능한 자바리스트 $ yum list java*jdk-devel java-1.7.0-openjdk-devel.x86_64 1:1.7.0.261-2.6.22.2.amzn2.0.1 amzn2-core java-1.8.0-openjdk-devel.x86_64 1:1.8.0.252.b09-2.amzn2.0.1 amzn2-core // java 설치 $ sudo yum -y install java-1.8.0-openjdk-devel.x86_64 타임존 변경 기본 타입존이 UTC로 되어 있으므로 한국시간으로 localtime을 변경합니다. $ date ..
-
하둡 맵리듀스(MapReduce)HADOOP 이야기 2021. 4. 14. 17:20
맵(Map) 맵은 입력받은 데이터를 스플릿(Split) 단위로 분할되며, 하둡은 각 스플릿마다 하나의 맵 태스크를 생성하고, 그 스플릿에 있는 각 레코드를 사용자 정의 맵 함수로 처리합니다. 이때, 스플릿의 단위가 작으면 작업의 부하가 분산되어 성능을 높일 수 있는데, 무조건 작다고 해서 좋은 퍼포먼스를 나타내는것은 아닙니다. 스플릿의 크기가 너무 작으면 맵 작업의 개수가 증가하고 맵 작업 생성을 위한 오버헤드가 증가하여 작업이 느려질 수 있습니다. 일반적으로 맵 작업의 적절한 스플릿 크기는 데이터 지역성의 이점을 얻을 수 있는 HDFS 블록의 기본 크기(128MB)입니다. 맵작업이 HDFS 블록 크기와 같은이유는 클러스터의 네트워크 대역을 사용하지 않고 처리할 수 있기 때문입니다. 만약 데이터가 있는 ..
-
하둡 얀(YARN)HADOOP 이야기 2021. 4. 14. 13:59
얀은 하둡 V1 의 라이프 사이클 관리와 클러스터 리소스 관리를 모두 잡트레커에서 처리 하면서 생기는 병목 현상을 없애기 위해 하둡 V2 에서 생성된 아키텍처입니다. 얀(YARN)에서는 자원관리는 리소스메니저와 노드매니저가 애플리케이션 라이프사이클 관리 기능은 애플리케이션마스터 와 컨테이너가 담당합니다. 자원관리 노드매니저는 클러스터의 각 노드마다 실행되며, 현재 노드의 자원 상태를 관리하고, 리소스매니저에 현재 자원 상태를 보고합니다. 리소스 매니저는 노드매니저로 부터 받은 정보를 이용하여 자원 사용 상태를 모니터링하고, 애플리케이션 마스터가 자원을 요청하면 비어 있는 자원을 할당 하며 클러스터 전체의 자원 관리를 합니다. 자원 분배는 스케줄러(Scheduler) 에 설정된 규칙에 따라 자원을 분배합니..
-
하둡(HADOOP)버전별 특징HADOOP 이야기 2021. 4. 13. 16:50
하둡 V1.x 하둡 V1은 2011년 분산저장, 병렬처리 프레임워크를 정의 하였습니다. 분산저장은 네임노드(Name Node)와 데이터노드(Data Node)가 담당하였으며, 병렬처리는 잡트레커(Job Tracker)와 테스크트레커(Task Tracker)가 담당하여 처리 합니다. 분산저장 시스템을 HDFS라고 하는데, 네임노드는 블록들의 메타데이터를 가지고 있으며 데이터 노드는 데이터를 블록단위로 나누어 저장하는 역할을 합니다. 이러한 경우 네임노드를 문제가 생기게되면 데이터블록의 메타데이터가 없어지게 되므로 데이터를 사용 할 수 없게 됩니다. 반면 데이터노드를 문제가 생기게 되면, 네임노드에 하트비트를 보내지 않게 되고 이러한 정보를 받아 네임노드가 가지고 있는 정보를 가지고 문제가 생긴 데이터노드의..
-
CentOS 7 Docker Cluster(orchestration) 환경 구성하기DOOKER 이야기 2021. 4. 7. 23:29
1. docker swarm 이란? docker swarm 이란, 여러 docker container를 하나의 구조로 이뤄진 형태의 container로 만들어 주는 도구 입니다. 이와같은 경우를 orchestration 이라고 부르는데, 통합 된 구조의 형태를 말합니다. 2. docker swarm master 생성 docker는 master node, manager node, worker node로 구성 되어 있습니다. 그중에 master node는 전반적으로 cluster를 관리하고, 스퀘줄링 서비스, swarm http api endpoint를 제공하는 작업을 합니다. master node를 구성하는 방법은 아래와 같습니다. $ docker swarm init --advertise-addr [mas..