설치 17

Airflow Helm 배포 - 설치하기

공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 이전 포스팅을 통해 Helm 에 대해서 알아보았다면, 이제 직접 실습을 해 보겠다. (이전 포스팅 링크: https://eng-sohee.tistory.com/161) Airflow Helm 배포 - Helm 과 Chart 를 알아보기 Kubernetes 환경에서 Airflow를 운영할 때, 일반적으로 Helm 차트를 이용하여 배포 및 운영을 한다. 이유는, Airflow 에서 제공하는 공식 Helm 차트를 제공하기 때문이며, 이를 통해 특정 클라우드 제공 업 eng-sohee.tistory.com 목차 1. Helm 설치 2. Helm 레포지토리 추가 3. valu..

Airflow Helm 배포 - Helm 과 Chart 를 알아보기

공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. Kubernetes 환경에서 Airflow를 운영할 때, 일반적으로 Helm 차트를 이용하여 배포 및 운영을 한다. 이유는, Airflow 에서 제공하는 공식 Helm 차트를 제공하기 때문이며, 이를 통해 특정 클라우드 제공 업체에 얽매이지 않고 Airflow를 운영할 수 있다. Helm 의 장점 Helm 을 사용하면, 복잡한 쿠버네티스 기반의 애플리케이션을 쉽게 설치 가능하다. 설치뿐만 아니라, 업데이트도 간결하다. helm 차트로 하나로 묶여 있다 보니, 여러 리소스가 묶인 복잡한 소프트웨어를 동시에 관리하기 수월하여 관리가 쉽다. Helm의 단점 하지만 Helm..

Docker airflow2 커스텀 이미지 빌드 과정

앞서, 기존에 생성된 이미지만을 이용해서 airflow 를 빌드했었는데, 오늘은 airflow 이미지 자체를 직접 빌드해보도록 하겠다. 왜 직접 빌드해야 하는지에 대한 이유와 공식 문서 소개, 그리고 airflow2 image 빌드 과정을 포스팅하겠다. 목차 airflow2 커스텀 이미지 빌드의 필요성 airflow2 이미지 빌드 공식 문서 01. airflow2 커스텀 이미지 빌드의 필요성 여담이지만 회사 면접을 봤을 당시, airflow를 도커로 띄워서 작은 프로젝트를 운영해 본 경험이 있다고 말씀드렸다. 이때 사수님께서 이미지 빌드 과정에 대해서 상세히 여쭤보았던 기억이 나는데, 이때 나는 이미 빌드되어져 있는 이미지를 활용해서 운영했었다라고 대답했던 기억이 난다. 그래서, 기회가 된다면 이미지부터..

Kafka Producer 애플리케이션 개발 - Python (Local Server 기반)

해당 프로젝트는 로컬 서버를 기반으로 카프카 프로듀서 애플리케이션을 개발하는 프로젝트에 대한 포스팅이다. 컨플루언트 기반 클러스터에서 카프카를 실행하기 전, 카프카의 동작 원리를 이해하기 위해 로컬에 직접 설치 및 실행해보았다. 목차 카프카 로컬 설치 서버 실행 Python Producer 개발 01. 카프카 로컬 설치 카프카 설치를 위해서는 공식 사이트를 이용해 파일을 다운로드 받아야 한다. 아래 공식다운로드 홈페이지 링크를 통해 접속하여, 파일을 다운받는다. 난 여기서 kafka_2.13-3.0.0 버전을 다운받았고, 해당 압축을 풀어주었다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Pla..

Window에 Cron Tab 설치 방법 + Cron 이란?

나는 최근 진행한 프로젝트 때문에 Cron을 종종 이용했다. 물론 Airflow 등을 쓰면 더 손쉽게 스케줄러 활용이 가능하지만, 파이썬 파일 하나를 간단하게 돌리기로는 (내가 아는 지식 범위 내에서) Cron이 무난하고 이용하기 수월하다고 판단했기 때문이다. 목차 Cron 이란? nnSoft 접속 및 프로그램 설치하기 워드패드로 cron 설정하기 Cron 주기 1. Cron이란? 유닉스 계열의 운영체제에서 사용되는 잡 스케줄러다. 일반적으로 서버 등에서 쓰이는 유닉스 계열의 운영체제가 있는데, 이 유닉스 계열의 운영체제는 cron이라는 잡스케줄러를 가자고 있다. 하지만 윈도우에서도 윈도우용 cron을 사용할 수 있다. 2. nnSoft 접속 및 프로그램 설치하기 http://www.nncron.ru n..

Airflow 개념 + Docker를 통한 Airflow 설치

01. Airflow란 무엇인가? Airflow는 에어비앤비에서 개발한 워크플로우 스케줄링 및 모니터링 플랫폼이다. 이는 동작 순서 및 방식과 같은 파이프라인을 파이썬 코드를 이용해 구성하기 때문에 동적인 구성이 가능하다. 또한 분산구조와 메시 지큐를 이용해 많은 수의 워커 간 협업을 지원하고 스케일 아웃이 가능하다. 1-1. Ariflow의 아키텍처 스케줄러 - 브로커 & 메타 DB - 여러 개의 워커 1. 스케줄러: 실행 주기가 되면 작업을 생성하고, 의존 작업이 모두 성공하면 브로커에게 넘긴다. 2. 브로커: 실행 가능한 작업(워커)들이 들어가 있는 공간 3. 워커: 실제 작업을 진행하는 주체 4. DAG, Task 등이 정의되어 있다. 1-2. Airflow를 왜 사용해야 하는가? 이는 ※전일 회..

06. 플럼과 카프카 기능 구현 방법

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다. 목차 플럼 에이전트 생성하기 카프카 기능 구현 01. 플럼 에이전트 생성하기 우선 클라우데라 매니저에서 플럼 - 구성을 클릭한 뒤 맨 아래쪽으로 쭉 내려보자. 플럼의 Agent 이름 그리고 구성파일 영역에 에이전트를 생성해볼 것이다. 에이전트의 이름은 각각 SmartCar Agent와, DriveCarInfo Agent이다. 에이전트가 두 개밖에 없으므로, 한 개의 conf 파일에 두 에이전트를 정의할 것이다. 1-1. SamartCar (배치 로그파일) 에이전트 생성 왜 spooldir 를 사용하는지 등은 수집 기능 요구사항 정..

05. 플럼과 카프카 개념+설치

목차 플럼이란 플럼 설치 카프카란 카프카 설치 01. 플럼이란 이번 프로젝트에서는, 빅데이터 수집을 위해 플럼을 사용한다. 플럼은 DB, API, 파일 등으로부터의 로그 데이터 수집을 지원하는 소프트웨어다. 사실 요즘은 플럼이 오래된 기능이라고 잘 쓰이지 않고, 이를 대체하여 현업에선 fluentd 등을 더 많이 찾는다고 한다. 2-1. 플럼의 구조 플럼은 크게 5가지로 구성되어 있다. 플럼의 주요 구성요소 소스(Source) 데이터 소스 파일로부터 데이터 수집 싱크(Sink) 채널로부터 데이터 전달받아 적재 장소로 전달 HDFS, ElasticSearch, Hive 등을 제공 채널(Channel) 소스와 싱크를 연결 인터셉터(Interceptor) 수집 중 데이터 가공을 원할 때 선택적으로 사용 에이전..

04-1. 클라우데라 매니저 HDFS 에러 해결

앞서 ※ 4번째 포스팅에서, 클라우데라 매니저를 설치했는데 아래와 같은 오류가 났다... 설치와 동시에 HDFS에서 먹통이 일어난 것! ※ 4번째 포스팅 링크 04. 수집 요구사항 정의 + HDFS, 주키퍼 설치 및 실행 오늘은 우리의 프로젝트 수집 요구사항을 구체적으로 정의해보고, 수집에 필요한 프로그램 중 HDFS와 주키퍼를 설치해보는 실습을 해볼 것이다. 그리고, 간단한 HDFS와 주키퍼 실행을 공부해볼 것 eng-sohee.tistory.com 그래서 오류 해결을 하는 과정을 한번 포스팅에 담아보고자 한다! 찾아보니, 디스크공간부족, 하둡 네임 노드 통신에러, 권한 문제 등으로 인해 이렇게 나오는 것이라고 한다. 가장 유력한 원인은 하둡 네임 노드가 Safe Mode로 전환되어서라는데, 따라서 P..

04. 수집 요구사항 정의 + HDFS, 주키퍼 설치 및 실행

오늘은 우리의 프로젝트 수집 요구사항을 구체적으로 정의해보고, 수집에 필요한 프로그램 중 HDFS와 주키퍼를 설치해보는 실습을 해볼 것이다. 그리고, 간단한 HDFS와 주키퍼 실행을 공부해볼 것이다. 목차 수집 요구사항 정의 HDFS와 주키퍼 설치 HDFS와 주키퍼 실행 01. 수집 요구사항 정의 앞서 포스팅한 프로젝트 개요에서도, 빅데이터 수집 요구사항을 정의했었다. 그 요구사항을 보다 더 자세히 정의해 볼 것이다. 우선 요구사항을 크게 두 가지로 정의할 수 있다. 요구사항 1: 차량의 다양한 장치로부터 발생하는 로그 파일을 수집해서 기능별 상태를 점검 요구사항 2: 운전자의 운행 정보가 담긴 로그를 실시간으로 수집해서 주행 패턴을 분석 해당 요구사항을 구체화해보겠다. 수집 요구사항 구체화 분석 및 해..