플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Trino와 MinIO 설정 MinIO 설정 MinIO 클라이언트 초기 설정 MinIO 클라이언트(mc)를 사용해 MinIO 서비스에 접속합니다. kubectl port-forward pod/minio 9000 9090 -n minio-dev ./mc alias s..
플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. 원천 데이터 소스의 경우 환경을 먼저 구축한 뒤에 데이터를 배치하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Dockerfile 생성 Hive Metastore를 실행하기 위한 Docker 이미지를 만들기 위한 Dockerfile을 작성합니다. 하둡과 hive, mysql 커넥터의 경우 링크에서..
플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. 원천 데이터 소스의 경우 환경을 먼저 구축한 뒤에 데이터를 배치하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Hive Metastore를 MySQL에 설정하고, Trino를 사용하여 MinIO에 저장된 데이터에 대한 쿼리를 실행하는 방법에 대해 포스팅하려고 합니다. Hive Metastore와 ..
MinIO는 고성능, 오픈소스 객체 스토리지 서비스로, 클라우드 네이티브 환경에서 매우 유용합니다. 이번 포스팅에서는 Kubernetes 클러스터 상에서 Airflow와 MinIO를 연동하는 과정을 단계별로 살펴보겠습니다. MinIO 설치 및 설정 먼저, Kubernetes 클러스터에 MinIO를 설치해야 합니다. MinIO는 쿠버네티스 Pod로 실행되며, 이를 위해 YAML 파일을 사용하여 필요한 리소스를 정의합니다. MinIO 설치를 위한 minio-dev.yaml 파일 예시입니다. apiVersion: v1 kind: Namespace metadata: name: minio-dev --- apiVersion: v1 kind: Pod metadata: labels: app: minio name: mi..
Google Kubernetes Engine(GKE) 상에서 Prometheus와 Grafana를 사용하여 클러스터의 모니터링을 설정하려고 합니다. 이를 통해 실시간으로 클러스터 상태를 감시하고, 성능 지표를 시각화해 보겠습니다. 모니터링을 위한 네임스페이스 생성 모니터링에 사용될 별도의 네임스페이스를 생성합니다. 네임스페이스는 리소스 관리와 분리를 통해 보다 체계적인 환경 관리에 도움을 줍니다. $ kubectl create ns monitor namespace/monitor created Helm 리포지토리 추가 및 확인 Prometheus와 Grafana를 설치하기 위해 Helm 차트 리포지토리를 추가합니다. Helm은 쿠버네티스 패키지 관리자로, 차트(chart)라고 불리는 패키지 형식을 사용하여..
앞의 포스팅에서 GKE 상에서 Airflow를 배포하였습니다. 이제 Slack 알림을 설정하는 법을 포스팅하려고 합니다. [GCP] GKE에 Apache Airflow 배포 Google Kubernetes Engine (GKE)에 helm 차트를 활용해서 airflow 배포를 하는 법에 대해서 포스팅하려고 합니다. 코드는 아래 github에서 확인할 수 있습니다. https://github.com/mjs1995/muse-data-engineer/blob/main/blog/gcp mjs1995.tistory.com Webhooks 생성 및 Slack으로 결과 전달하기 Webhooks 생성하기 slack api웹사이트에 접속해서 Webhook URL을 생성합니다. Slack으로 알림 전달 Apache Air..
테라폼을 활용해서 gke 클러스터를 생성하고 airflow helm차트를 배포해보려고 합니다. 코드는 아래서 확인 가능 합니다. https://github.com/mjs1995/muse-data-engineer/blob/main/blog/gcp/gke_airflow.md 서비스 계정 생성 및 역할 부여 Service account 란 사용자를 대신하여 작업을 수행하는, 프로젝트에 연결된 Google 계정이며 이러한 Service account 에는 사용자와 동일한 방식으로 역할과 권한을 할당 할 수 있습니다. 테라폼 명령을 실행하기 전에 아래 역할(Role)을 가지고 있는 Service account를 생성합니다. 서비스 계정 관리자 (roles/iam.serviceAccountAdmin) : 서비스 계..
Google Kubernetes Engine (GKE)에 helm 차트를 활용해서 airflow 배포를 하는 법에 대해서 포스팅하려고 합니다. 코드는 아래 github에서 확인할 수 있습니다. https://github.com/mjs1995/muse-data-engineer/blob/main/blog/gcp/gke_airflow.md helm차트를 활용한 Apache Airflow 배포 Google Kubernetes Engine (GKE)에 helm 차트를 활용해서 airflow 배포를 하는 법에 대해서 포스팅하려고 합니다. gcloud는 Google Cloud Platform(GCP) 리소스를 관리하고 조작하는 데 사용되는 커맨드 라인 인터페이스(CLI) 도구입니다. gcloud 명령어를 사용하면 G..