본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그

전체 글162

Install Airflow on Kubernetes Kubernetes 환경에 Airflow 설치 실습. 설치 경로: /home/confluent/apaches/airflow_k8s 1. Helm Airflow Repo $ helm repo add apache-airflow $ helm repo list NAME URL apache-airflow $ helm search repo apache-airflow NAME CHART VERSION APP VERSION DESCRIPTION apache-airflow/airflow 1.11.0 2.7.1 The official Helm chart to deploy Apache Airflo... $ helm pull apache-airflow/airflow $ tar xzf airflow-1.11.0.tgz 2. G.. 2023. 11. 26.
Confluent Cluster Linking 제한사항 (7.5.X 버전 기준) Cluster Linking Limitation and Best Practices (7.5 버전 기준) CFK 에서는 bidirectional 모드의 cluster link를 생성 할 수 없습니다. cluster link 삭제시, 먼저 모든 mirror topic이 STOPPED 상태인지 확인해야 합니다. 만약에 한 토픽이라도 PENDING_STOPPED 상태인 경우에 삭제하게 되면 해당 토픽들 관련하여 복구불가능한 에러가 발생할 수 있습니다. Confluent Platform 7.1 버전이후부터는, source-initiated cluster link 를 조회하는 REST API 요청을 보내면 destination_cluster_id 파라미터의 값으로 destination cluster ID를 받아올 .. 2023. 11. 20.
Confluent Cloud 시작 기록 #1 GITHUB 계정으로 바로 Sign in 했다. 간단한 설문조사를 마친 다음, Get Started ! Avalibility 부분을 확인해보면, Write / Read 별(데이터 I/O) 로 요금이 부과되는 것을 알 수 있다. PAYMENT 단계에서 PROMO CODE 입력하고, 카드 정보 기입(생략 가능) 넘어간다. 한 큐에 바로 클러스터 완성! 이제 다음장에서 까다로운 Confluent Cloud 네트워킹을 설정해보려고한다. 2023. 11. 20.
[kafka monitoring] Prometheus 서비스 기동 Prometheus는 등록된 target에 대해 주기적으로 metric을 수집하는 역할을 합니다. PromQL(쿼리 언어)을 사용하여 수집된 데이터를 활용 가능합니다. Default listen port: 9090 2-1. Prometheus Download 최신 버전 확인: https://prometheus.io/download/ **$ wget $ tar xzf prometheus-2.45.0.linux-amd64.tar.gz $ ln -s prometheus-2.45.0.linux-amd64 prometheus** 2-2. prometheus.yml jmx-monitoring-stacks/jmxexporter-prometheus-grafana/assets/prometheus/prometheus-co.. 2023. 11. 9.
[kafka monitoring] jmx-exporter 설정 1-1. jmx-exporter 파일 설치 github에서 jmx exporter jar 파일(jmx_prometheus_javaagent.jar) 및 컴포넌트별 설정 파일(${component}.yml)을 다운로드하고, 각 파일들을 컴포넌트 서버에 위치시킵니다. **$ git clone $ cd jmx-monitoring-stacks/shared-assets/jmx-exporter** **$ ll** total 1080 -rw-rw-r--. 1 confluent confluent 5921 Jun 29 11:08 confluent_ksql.yml -rw-rw-r--. 1 confluent confluent 1654 Jun 29 11:08 confluent_rest.yml -rw-rw-r--. 1 conf.. 2023. 11. 9.
[k8s] TAINT / TOLERATION : 그 얼룩 정도는 용서해줄게,, 앞서 작성한 삽질의 정리에 이어서, 해당 image 가 있는 노드에만 해당 pod를 배포할 수 있도록 taint와 toleration을 설정하고자 한다. 아주아주 간단하고 스피디하게 taint/toleration을 정리해보았다. taint 의 뜻은 얼룩, toleration 은 흔히 말하는 똘레랑스와 비슷한 의미로 용서, 용인! 이 두 개념이 k8s에서 쓰이는 방식은 아래와 같다. node에 얼룩(taint)을 묻혀서 임의의 pod가 함부로 그 node에 할당되지 못하게 한다. 그런데 어떤 얼룩에 대한 똘레랑스를 가진 (toleration) pod는 그 얼룩을 가진 node 에도 할당이 가능해진다. 즉, taint는 node에 설정하는 개념이고 toleration은 pod에 설정하는 개념이 되겠다. 이 .. 2023. 11. 7.
[k8s] 아니 이미지가 떡하니 있는데 왜 못 찾는다는 거야 [삽질과 그 정리의 기록] control plane 노드에서 custom image를 따로 build 했다. 그리고 docker image ls 로 해당 이미지가 제대로 조회되는 것도 확인했다. 그래서 이제 해당 이미지를 컨테이너로 만들어 replica 2 로 지정한 deployment set을 배포하려고 했다. kubectl apply ~ 그런데 자꾸만 pod 상태는 ErrImagePull 로 빠지고, 아래 에러가 떴다. Failed to pull image "kafka-flink:young": rpc error: code = Unknown desc = Error response from daemon: pull access denied for kafka-flink, repository does not .. 2023. 11. 7.
[Flink] Apache Flink Pod 배포 (Kubernetes) Flink 는 데이터 처리 프로세싱 프레임워크 및 엔진 중 하나로, kafka 로부터 메세지를 실시간으로 읽어서 분석할 때에 주로 쓰인다. Flink Deployment에는 두 가지의 모드가 있다. 각 모드는 Deployment 시 자원의 분리 수준에서 주된 차이점을 가진다. - Application mode: deployment가 각각 별개의 Flink Cluster 에서 수행된다. Flink Cluster의 라이프 사이클은 그 Deployment의 라이프사이클에 종속된다. - Session mode: Deployment가 Flink Session Cluster에서 실행된다. 따라서 다른 Deployment와 자원을 공유하게 된다. Flink Cluster의 라이프사이클과 Deployment의 라이프사.. 2023. 11. 3.
[Linux] Free / Available of 'free' command linux 상에서 free 명령어를 쳐서 항상 가용메모리를 확인해왔다. 이때 출력되는 memory 메트릭에는 여러 개의 필드가 있는데 각 필드별로 정확한 의미를 정리하고자 한다. 참고 링크 1: https://www.turing.com/kb/how-to-use-the-linux-free-command 참고 링크 2: https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/5/html/tuning_and_optimizing_red_hat_enterprise_linux_for_oracle_9i_and_10g_databases/chap-oracle_9i_and_10g_tuning_guide-memory_usage_and_page_cache.. 2023. 11. 2.
Install Apache Airflow on Docker Prerequisites Docker 24.0.6 설치 Centos 7 기준 실습 How to. 1. airflow 디렉토리 생성 후, 해당 디렉토리 아래에 /dags /config /logs /plugins 디렉토리를 생성해둡니다. 2. (선택) airflow 를 통해 구현하려는 파이프라인 성격에 따라 필요한 라이브러리 및 버전을 requirements.txt 파일에 명시합니다. pandas fastavro==1.6.1 3. Dockerfile 파일을 아래와 같이 작성합니다. FROM apache/airflow:2.6.2 COPY /dags ./dags COPY requirements.txt requirements.txt RUN pip3 install -r requirements.txt USER air.. 2023. 11. 1.
GitHub Read Me 꾸미기에 참고한 링크 1. Header/Footer https://github.com/kyechan99/capsule-render 2. 이모지 그냥 이모지는 넘 단조롭다! 움직이는 이모지를 넣고싶다면? https://animated-fluent-emoji.vercel.app/ 3. 위젯 https://github.com/anuraghazra/github-readme-stats 4. 스택 뱃지 https://github.com/Ileriayo/markdown-badges 2023. 11. 1.
Airflow 설치 및 구성 테스트 💡 Airflow : A platform to programmatically author, schedule and monitor workflows. 워크플로우를 프로그래밍 방식으로 작성하고, 스케줄링하고 모니터하는 플랫폼입니다. 여기서 프로그래밍 방식에 쓰이는 코드는 바로 파이썬 코드입니다. : Uses directed acyclic graphs (DAGs) to manage workflow orchestration. Tasks and dependencies are defined in Python and then Airflow manages the scheduling and execution. DAGs 라는 것을 통해 워크플로우 오케스트레이션을 관리합니다. DAG는 유향 비순환 그래프를 의미합니다. 0... 2023. 10. 26.