전체 글

데이터 엔지니어의 기록하고 공유하는 공간
이번에는 Spark Cluster를 하나의 머신에서 간편하게 구축하는 과정을 기록하려 합니다. 아래 표는 사용 환경입니다. 하지만 docker 와 docker-compose 그리고 os 버젼은 컨테이너화 과정이기 때문에 큰 영향은 없을 것입니다. type version OS Ubuntu 20.04 docker Docker version 23.0.1 docker-compose version 1.27.4 앞서 언급했듯이 docker-compose를 통하여 간편히 하나의 머신에서 spark master와 worker 두개를 띄울 것입니다. 이 환경은 production, 즉 운영에서 쓰이기에는 무리가 있습니다. spark의 concept부터가 여러 대의 머신의 memory를 사용하여 대용량의 데이터를 처리하는..
Computing resource 준비하기 개발용 Linux 서버 3대와(k8s-master, k8s-slave01, k8s-slave02) 내 데스크탑 Linux 서버 1대(desktop)로 시작하였다. 모두 ubuntu 20.04로 초기화를 해주었다. OS: Ubuntu 20.04 Rancher 설치 (desktop) Rancher는 컨테이너 오케스트레이션 플랫폼이다. 다시 말해 Kubernetes나 다른 컨테이너 관리 시스템을 쉽게 배포하고 관리할 수 있게 도와주는 도구이다. Rancher를 활용하면 개발자와 운영팀은 복잡한 에플리케이션을 컨테이너화하고 배포하는 작업을 편하게 할 수 있다. 아래 사이트에 가면 Rancher를 쉽게 설치할 수 있다 :) https://www.rancher.com/qu..
이번 시간에는 multi-node로 이루어진 kubernetes 환경에서 apache airflow 를 설치하는 과정을 공유하려 합니다. 필자는 on-premise 환경에 구성된 kubernetes 에 설치를 진행하였습니다. 원활한 진행을 위해서는 kubernetes 의 default storage class 가 있어야합니다. helm init helm 설치 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh https://helm.sh/ko/docs/intro/install/ 헬름 설치하기 헬름 설치하고 작동하는 방법 배우기..
os: Ubuntu 20.04 fdisk (fixed disk) 명령어는 partition table을 관리하는 명령어로써 파티션의 생성, 수정, 삭제가 가능합니다. 저는 kubernetes의 heketti storage class를 생성하기 위해 파티션을 모두 삭제하는 작업을 진행하였습니다. sudo fdisk -l # 현재 디스크 및 파티션 보기 sudo fdisk [drive] # sudo fdisk /dev/sda # fdisk 를 통하여 drive에서 작업 # m for menu # d for delete a partition # w for write table to disk and exit # d 로 파티션을 지우고 나서 w로 저장하면 된다. 원레는 fdisk를 통하여 partition을 삭제..
os: Ubuntu 20.04 sudo vim /etc/netplan/01-network-manager-all.yaml sudo 와 텍스트 편집 명령어를 통하여 /etc/network/01-network-manager-all.yaml 파일을 열고 HTML 삽입 미리보기할 수 없는 소스 위 코드 대로 고치면 됩니다 참고로 네트워크 인터페이스 이름을 확인하기 위해서는 ip addr 를 통하여 인터페이스 이름을 확인하면 됩니다 위 yaml 파일을 수정하고 적용하기 위해서는 sudo netplan apply
이론 (ETL 과 DAG) 이 글을 클릭한 당신...! 😀 어디선가 들어보았을 이 Airflow 라는 단어가 호기심을 자극했을 것이다! 이번 기회에 airflow 에 대해 배우고 지식을 든든하게 채워보자 Airflow 공식 페이지의 소개하는 글은 이렇다. (https://airflow.apache.org/) Airflow는 workflow를 만들고(author), 스케쥴링하고(schedule), 감독한다(monitor) 🤔 알 것 같지만 와닿지는 않는다! (적어도 나는 그랬다... 😥) 그래서! 우리는 실습을 통하여 이 Airflow에 대해 더 알아볼 것이다! 그 전에, 한가지 알아야 할 단어가 있다 -> DAG Directed Acyclic Graph (DAG) 는 우리가 data engineering..
What is Spark? 아파치 스파크 (Apache Spark)는 고성능 분산 데이터 처리 및 분석 프레임워크로, 대규모 데이터 집합을 처리하고 복잡한 데이터 분석 작업을 수행하는 데 사용됩니다. 아파치 스파크는 오픈 소스로 개발되었으며, 다양한 언어로 API를 제공하여 사용자가 Java, Scala, Python, R 등에서 사용할 수 있습니다. 이번 시간에는 가볍게 로컬 환경에서 스파크를 다운받고, 실행해보겠습니다 😗 Installing Spark 다운로드 cd ~ wget https://www.apache.org/dyn/closer.lua/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz 아니면 공식사이트에서 직접 다운받을 수도 있습니다. https://spark..
ampersandor
데이터 엔지니어 블로그