BigData 11

[Hadoop] Zookeeper Install

개요 Zookeeper 환경을 구성해보고, 설치해보며 실습환경 구성 설치 전 환경구성... VirtualBox에서 Vagrant로 Provisioning 하여 총 3개의 Server 구성 CentOS 7.6 mgmt01 mgmt02 mgmt03 IP 192.168.56.11 192.168.56.12 192.168.56.13 CPU 1 1 1 MEM 2G 2G 2G 1. Zookeeper 설치 전 세팅 (모든 서버) Master - Slave 간 통신을 위해 방화벽 해제 1.1 방화벽 비활성화 # systemctl stop firewalld # systemctl disalbe firewalld 1.2 SELinux 비활성화 # setenforce 0 # sed -i 's/^SELINUX=.*/SELINUX..

BigData/Hadoop 2022.11.08

[Hadoop] Zookeeper 란?

Zookeeper Zookeeper는 분산 애플리케이션을 위한 코디네이션 시스템 Hadoop Eco System에서 사용되는 회복성 있는 분산 설정 서비스 Zookeeper 안에서는 설정 데이터가 파일시스템과 Znode라는 노드 트리에 저장 각 ZNODE는 데이터를 가지고 있으며 0개 이상의 자식 노드를 가질 수 있슴 클라이언트는 하나의 주키퍼 서버와 연결을 맺고 ZNODE를 생성/조회/수정/삭제 Zookeeper 특징 클러스터에서 하나의 서버에 모든 작업이 진행되면, 작업이 진행되는 서버가 단일 실패지점 (SPOF, Single Point Of Failure)이 됨, 따라서 이로 인한 리스크를 줄이기 위해 분산 서버 관리 기술 즉 Zookeeper를 사용 분산처리 환경에서 예상치 못한 예외 케이스가 자..

BigData/Hadoop 2022.11.08

[Airflow] Airflow 보안

개요 접근 제어를 위한 RBAC 인터페이스 검사 및 구성 LDAP 서비스에 연결하여 중앙 사용자 집합에 대한 액세스 권한 부여 데이터베이스에서 기밀을 암호화하도록 Fernet Key 구성 중앙 보안관리 시스템에서 보안사항 가져오기 들어가기 전에... Airflow 웹 인터페이스 1) Airflow 1.x Flask-Admin을 기반으로 개발된 기본 인터페이스 FAB (Flask-AppBuilder)를 기반으로 개발된 RBAC 인터페이스 2) Airflow 2.x FAB (Flask-AppBuilder)를 기반으로 개발된 RBAC 인터페이스 1. Airflow 웹 인터페이스 보안 보이는 화면은 RBAC 인터페이스의 첫 화면 (암호 인증이 기본적으로 활성화) 1.1 RBAC 인터페이스에 사용자 추가 1.1...

BigData/Airflow 2022.10.27

[Hive] External vs. Internal

개요 Hive에서 External Table과 Internal Table의 차이점에 대해 파악하고, 실습을 진행해 보겠습니다. Internal Table Internal Table은 Manged Table이라고 하며, Table 생성 시 따로 Option을 주지 않으면 기본 저장 위치 ‘hive.metastore.warehouse.dir’에 정의한 하위 디렉터리를 만들어서 Data를 저장합니다. ex) hdfs:///user/hive/warehouse/{DB명}.db/{Table 명} Internal Table은 Drop 시에 Table의 Data 및 MetaData 또한 완전히 삭제되므로 주의하여야 합니다. 세션이 종료 되어도 Table의 Data와 파일은 유지 됩니다. 실습 shakespeare_wc..

BigData/Hive 2022.09.29

[Hadoop] Hadoop 이란?

개요 Hadoop에 대해서 간단한 이론과 Hadoop v1.x, v2.x 버전의 차이점에 대해 알아보도록 하겠습니다. Hadoop 대용량의 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로 처리가 힘들다는 것을 꺠닫고, 구글의 GFS와 MapReduce 논문을 기반으로 개발된 프레임워크 입니다. 기존 성능이 높은 컴퓨터를 사용하여 Data를 처리하는 방식에서, 범용 컴퓨터를 클러스터화 시켜서 큰 크기의 Data를 병렬 처리하도록 구성하여 처리속도를 높이는 것을 목적으로 분산처리를 하도록 만든 것이 Hadoop 입니다. 적은 비용의 장비 구성으로 빠른 속도의 Data 처리를 수행할 수 있게 되었습니다. Hadoop 구성요소 ● Hadoop Common ○ Hadoop의 다른 모듈을..

BigData/Hadoop 2022.09.27

[Hive] Hive 란?

개요 Hive에 대한 개념 정리와 간단한 실습을 진행해보며 Hive의 구동원리 아키텍쳐에 대해 알아가 보도록 하겠습니다. Hive 란? Hive는 Hadoop에서 돌아가는 Data Warehousing Solution 입니다. MapReudce는 Java 기반이기 때문에 Java에 대한 역량이 부족한 데이터 엔지니어에게는 진입 장벽이 높습니다. 따라서 Hive를 통해 SQL문을 MapReduce로 변환 시켜주면서 진입 장벽을 낮추었습니다. 진행 과정은 Hive에서 SQL문을 MapReduce로 변환 시켜주고, 이를 Hadoop이 처리하는 순서로 진행됩니다. 즉, Hive는 단순히 SQL을 MapReduce로 변환 시켜주는 작업을 진행하고, Hadoop이 일을 처리하는 역할을 수행합니다. 따라서 엄밀히 이..

BigData/Hive 2022.09.20

[Airflow] Task 의존성 정의 방법

개요 작업 의존성을 Airflow에서 정의하는 방법과 이러한 기능을 사용하여 조건부 Task, 분기 및 조인을 비롯한 보다 복잡한 패턴을 구현하는 방법에 대해 알아보고, XCom을 이용한 Task 사이의 상태 공유 방법, Airflow 2의 새로운 API인 Taskflow API를 통해, 파이썬 작업과 XCom을 많이 사용하는 DAG를 단순화하는 방법에 대해서 알아보겠습니다. 기본 의존성 유형 1. 선형 의존성 유형 책에서 제공하는 로켓 사진 가져오기 DAG의 Task를 기반으로 선형 의존성 유형을 설명드리겠습니다. 1.1 로켓 사진 가져오기 Task Chain download_launches=BashOperator(...) get_pictures=PythonOperator(...) notify=Bash..

BigData/Airflow 2022.09.14

[Airflow] Airflow UI

개요 docker-compose를 통해 Airflow를 설치하고, Airflow Web UI를 띄우는 부분까지 성공하였습니다. 이번에는 Airflow Web UI를 둘러보며 무슨 기능이 존재하는지 확인해보도록 하겠습니다. * Airflow 설치를 진행하려면 다음 글을 참고하세요. https://twodeveloper.tistory.com/99 [Airflow] Airflow Install 개요 로컬 환경에서 Airflow를 설치해서 Airflow Web UI를 띄우는 과정까지 진행할 것입니다.Airflow는 파이썬 환경에서와 Docker Container에서 실행할 수 있는데 저는 Docker Container 환경에서 실행시키는 것. twodeveloper.tistory.com Airflow Web U..

BigData/Airflow 2022.09.08

[Hadoop] Hadoop Eco System 이란?

개요 Hadoop Eco System 에 대한 개념 정리를 목적으로 정리하겠습니다. Hadoop Eco System 1. Hadoop Eco System 이란? 먼저, Hadoop Eco System은 크게 말하면 "다양한 서브 프로젝트들의 모임"이라고 말할 수 있습니다. Hadoop의 Core Project는 HDFS, MapReduce 이지만 그 외에도 다양한 프로젝트들이 많은데 이러한 프로젝트들의 모임을 Hadoop Eco System이라 지칭합니다. 1.1 Hadoop Eco System Architecture Hadoop Eco System에 대한 Framework들의 구성도 입니다. 다음은 Hadoop Eco System의 구성도를 도식화한 것입니다. HDFS 2. HDFS 란? Hadoop ..

BigData/Hadoop 2022.09.07

[Airflow] Airflow Install

개요 로컬 환경에서 Airflow를 설치해서 Airflow Web UI를 띄우는 과정까지 진행할 것입니다.Airflow는 파이썬 환경에서와 Docker Container에서 실행할 수 있는데 저는 Docker Container 환경에서 실행시키는 것을 목적으로 진행할 것입니다. Docker Container로 진행하는 이유는 pyenv 등을 이용한 파이썬 환경 구성은 파이썬 실행 수준에서 실행 환경을 격리하지만, Docker Container는 OS 수준에서 격리된 환경을 제공하기 때문에 파이썬 패키지 뿐만이 아닌 DB Driver, GCC 컴파일러 등의 의존성을 포함하여 Docker Container를 생성할 수 있습니다. Airflow 설치 전 세팅 * VM : CentOS 7 (Core : 2 / ..

BigData/Airflow 2022.09.07