[b] REF kafka-spark-구축 운영기 우아한형제 Kafka 운영환경 유튜브 kafka 6.2.14 … Airflow는 하나의 클러스터 (1 Master / 2 Worker) 환경에 pod로 올리고 kafka와 zookeeper는 하나의 클러스터 다른 Node에 Docker container로 띄움. 운영 환경에서 적합한가 ? 를 생각해보게 됨. (의미있나..싶기도함..) test 각 다른 Node에 Spark도 서버로 설치하는 것으로 하고 , Kafka Spark를 함꼐...
CoCoaPods
Type: development | Type: Post | #iot #apps #developpublic ip 133.186.220.16 Deploy FROM python:3.10-slim RUN apt-get update \ && apt-get install -y \ gcc \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY main.py . COPY *.ini . COPY requirements.txt . COPY database.py . RUN pip install -r req...
Deploy Status
Type: development | Type: Post | #iot #apps #developmosquitto 배포, 통신 [b] REF Ingress-nginx mosquitto [check] 참고 kubectl create configmap mariadb-init-db --from-file=dbconfig.ini websocket: mosquitto conf 설정 mosquitto configmap: mosquitto.conf listener, protocol 설정 apiVersion: apps/v1 kind...
APP Develop - IoT Sensor
Type: development | Type: Post | #iot #developFlask를 사용해 Python으로 개발 배경 아이폰 (=단말기, IoT Sensor)이 데이터를 수집한다. iot-collector는 edge 노드에 container로 띄워져 있다. iot-collector는 Go 언어로 개발되어 MQTT를 수행하고 데이터를 저장하는 기능을 하는 소스이다. web으로 구현되어 있으며 post로 조회 할 수 있다. Goals iot-collector를 python화 한다 iot-collector가 하는 기능을...
6 Ways to Achieve New Things
Type: Post | #markdownPhilosophy: Markdown is intended to be as easy-to-read and easy-to-write as is feasible. Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. W...
Workflow
Type: Post |Project Name: Date: 2024-04-08 09:12 Tag: Contents: | bami-node1 | Ubuntu Server 22.04 LTS | 192.168.0.70, 180.210.80.246 | | ———- | ———————– | —————————— | | bami-node2 | Ubuntu Server 22.04 LTS | 192.168.0.107, 133.186.215.112 | | bami-node3 | Ubuntu Server 22.04 LTS | 192.168.0.24, 180.210...
Workflow
Type: Post |Project Name: dag 배포 Date: 2024-04-05 11:04 Tag: Contents: airflow에 대한 권한 할당 앞서 , [[002Report/4월/2024-04-04|2024-04-04]]에서 발생한 conn_id,in_cluster 중복 된 값을 쓸 수 없고 셋 중에 하나만 쓰라고 한 오류가 발생함. airflow.exceptions.AirflowException: Invalid connection configuration. Options kube_config_path, kube_...
Workflow
Type: Post |Project Name: airflow dag 초안 Date: 2024-04-04 09:25 Tag: Contents: 125.6.37.91 FROM apache/airflow:2.8.4-python3.10 ENV AIRFLOW_HOME=/opt/airflow ENV JAVA_HOME=/usr/lib/jvm/jdk1.8.0_401 ENV PATH="$PATH:${AIRFLOW_HOME}/bin:${JAVA_HOME}/bin" USER root RUN mkdir /usr/lib/jvm COPY j...
Workflow
Type: Post |Project Name: kube Operator 적용 Date: 2024-04-03 09:29 Tag: Contents: 125.6.37.91 [b] REF kubernetes client model REPO from airflow.providers.cncf.kubernetes.operators.pod import KubernetesPodOperator from kubernetes.client import model as k8s V1DeploymentSpec V1Priorit...
Workflow
Type: Post |Project Name: airflow kafka kubernetes image 만들기 Date: 2024-04-02 09:13 Tag: Contents: zookeeper 3.8.2 kafka 3.6 java 11 Python 3.10.12 spark 3.5.1 scala 2.13 java 11 airflow 2.8.4-python3.10 Kafka [b] REF strimzi로 구성하기 strimzi로 구성 operator와 zookeeper, kafka...
Workflow
Type: Post |Project Name: install Date: 2024-04-01 10:34 Tag: Contents: [i] IP 정보 [b] REF Spark on Kuberenetes airflow와 Spark를 Kubernetes로 연동하기 아키텍쳐 bami-node1 Ubuntu Server 22.04 LTS 172.16.1.102, 125.6.37.91 bami-nod...
Workflow
Type: Post |Project Name: objectstorage 저장 Date: 2024-03-28 09:59 Tag: Contents: [i] IP 정보 노드 이름 ``` - IP 125.6.40.10 ### hdfs 저장소에 저장하기 - [b] REF > [spark openstack swift API](https://spark.apache.org/docs/2.2.0/storage-openstack-swift.html) - apache hadoop openstack sp...
Workflow
Type: Post |125.6.40.10 .config('spark.jars', './jars/spark-sql-kafka-0-10_2.12-3.3.0.jar')\ .config("spark.sql.execution.arrow.pyspark.enabled", "true")\ vi –conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties" –conf &qu...
Workflow
Type: Post |Project Name: Spark Local 설치 Date: 2024-03-25 09:45 Tag: Contents: 클러스터 정보 baming IP 125.6.40.10 https://spidyweb.tistory.com/303 curl -o kafka-clients-3.3.0.jar https://repo1.maven.org/maven2/org/apache/kafka/kafka-clients/3.3.0/kafka-clients-3.3.0.jar curl -o s...
Workflow
Type: Post |Project Name: airflow에서 spark 연결 Date: 2024-03-22 09:01 Tag: Contents: [b] REF 133.186.212.113 계속 뜨는 spark-submit error Error: Missing application resource. Usage: spark-submit [options] <app jar | python file | R file> [app arguments] Usage: spark-submit --k...
Workflow
Type: Post |Project Name: airflow Config 설정 Date: 2024-03-21 09:39 Tag: Contents: [b] REF https://velog.io/@bbkyoo/AirFlow-%EC%84%A4%EC%B9%98Celery-Cluster airflow 설정 개념 설명 [[Airflow 활용 Guide]] : 수정중 + java 설치 + pyspark 버전에 맞게 설치 + 각 HOME dir 환경 변수 처리 해주기 병렬 처리를 위한 ...
Workflow
Type: Post |Project Name: pipeline 작성. dags/tasks 나누기 Date: 2024-03-14 11:10 Tag: Contents: [b] REF File import error 다른 폴더에 있는 파일을 불러오는 것에 에러가 자주 남. 파일 구조는 이와 같음 ``` dags —- iot.py dowork —- kafka_task.py —- spark_task.py —- store_task.py ``` print(sys.path)를 출력해본다. [...
Workflow
Type: Post |Project Name: pipeline 작성. dags/tasks 나누기 Date: 2024-03-14 11:10 Tag: Contents: [b] REF File import error 다른 폴더에 있는 파일을 불러오는 것에 에러가 자주 남. 파일 구조는 이와 같음 ``` dags —- iot.py dowork —- kafka_task.py —- spark_task.py —- store_task.py ``` print(sys.path)를 출력해본다. [...
Workflow
Type: Post |**— Project Name: airflow dag코드 Date: 2024-03-11 09:16 Tag: Contents: [b] REF 데이터 처리 방식 133.186.213.65 133.186.213.16 from airflow import DAG from airflow.operators.python_operator import PythonOperator from pyspark.sql import SparkSession from kafka import KafkaPr...
Scala version
Type: Post |![[Pasted image 20240308180051.png]] from airflow import DAG from airflow.operators.python_operator import PythonOperator from pyspark.sql import SparkSession from kafka import KafkaProducer, KafkaConsumer from kafka.admin import KafkaAdminClient, NewTopic from datetime import datetime from airf...
Kafka Spark 연동 가이드
Type: Post |airflow vm 설치 Kafka 설치 [!NOTE] 이 가이드는 Spark, Kafka가 어떻게 동작하는지에 대한 가이드 라인으로 내부 테스트용으로 쓰여졌다. 절대 데이터 파이프라인의 완성본이 아니다. 스토리라인은 Airflow 설치, Spark / Kafka를 도커로 띄운 후 Spark Container에서 직접 데이터 가공 코드를 실행하였고 Kafka Container에서 메세지 로그를 확인 하였다. Kafka Resource #KAFKA_RESOURCE docker-compos...
Workflow
Type: Post |from pyspark.sql import SparkSession from pyspark.sql.functions import from_json from pyspark.sql.types import StructType, StringType # Initialize SparkSession spark = SparkSession.builder \ .appName("KafkaToDataFile") \ .getOrCreate() # Define Kafka parameters kafka_params = ...
The long adventure to success Pipeline...4) going to be crazy. Spakr is already exsist on Docker!
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #KafkaDocker image spark 1:0 kafka 1:0 airflow 2.0 openjdk-8-jdk 자바를 수동으로 설치.. Airflow 설치 FROM apache/airflow:2.8.1 ENV AIRFLOW_HOME=/home/airflow/.local ENV JAVA_HOME=/usr/lib/jvm/jdk1.8.0_401 ENV SPARK_HOME=/home/airflow/.local/assembly/target/scala-2.12 ENV PATH="$PATH:${AIRFLOW_HOME}/bin:...
The long adventure to success Pipeline...4
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #KafkaConnetion type: spark_conn from __future__ import annotations import typing import Any, Callable import pendulum @dag( schedule=None, start_date=pendulum.datetime(2021, 1, 1, tz="UTC"), catchup=False, tags=["example"], ) def example_pyspark(): @task.pys...
The long adventure to success Pipeline...3) Do I need 'hostaliases' for connected Public?
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[!tip] The Answer is "NONONONONONO" Project Name: Hostaliases 설정 및 spark 코드 작성 #KAFKA_SPARK_DOCKER_COMPOSE version: '2' networks: common-network: external: true services: zookeeper: image: confluentinc/cp-zookeeper:6.1.15 hostname: zookeeper container...
The long adventure to success Pipeline...2) Rebuild
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #KafkaAirflow 구축 목적은 한 곳에서 여러 Job을 관리하기 위함 [?] 지금까지는 Kafka와 Spark를 테스트 하기 위에서 Cluster2의 각 Container에 접속하여 코드를 실행했음. 그리고 Spark와 Kafka가 잘 연동 되는 것을 확인 후 airflow에 Pipeline을 작성 하려고 하는데 Airflow에서 Spark와 Kafka를 관리 하는 데에서 궁금했던 것이, Airflow에서 Kafka와 Spark의 코드를 모두 가져와서 실행 하는 건지? 아니면 Airflow에서는 실행하라는 명령을 날린 후 ...
The long adventure to designing Pipeline...1) Edit & Analyst DataProccess Source
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[!warning] 🫠 매우 긴 챌린지가 시작됩니다. A Lengthy Challenge Begins… [b] REF 예제 코드 postgres에 연동하여 data 저장하기 ⬇️ 소스 변경 ⬇️ ✅produce 하기: smaple JSON 파일 examplemsg.sh 실행 ✅spark 서버에서 consume 실행: 데이터 가공 스크립트를 수정한다. ✅실행 값 받아오기 ✅data 저장하기 ( postgres ) Sketch airflow 이미지 다시...
Spark, Kafka, Airflow Resources
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #KafkaKafka Resource version: '2' networks: common-network: external: true services: zookeeper: image: confluentinc/cp-zookeeper:6.1.15 hostname: zookeeper container_name: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 218...
Kafka,Spark Containers are linked. Test Origin code of 'data proccess'
Type: build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[b] REF docker network로 컨테이너 연결하기 Docker Container Network 도커 컨테이너끼리 연결 하려면 같은 bridge network를 사용해야 한다. kafka와 spark의 컨테이너 네트워크를 common-network로 통일 시켜 재배포 한다. kafka docker-compose.yaml ```yaml version: '2' networks: common-network: external: true s...
This is whole steps rebuilding code of Data Proccessing
Type: Build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[b] REF https://taaewoo.tistory.com/32?category=887744 https://github.com/subhamkharwal/ease-with-apache-spark/blob/master/33_spark_streaming_read_from_kafka.ipynb [i] version spark 3.4.2 java 17 scala 2.13 [i] version(jar) kafka-clients-3.4.1 ...
Install Spark in Local
Type: Build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[b] REF scala,spark,maven 설치(linux환경) spark consumer로 활용하기 spark 간단 구축하기 HDFS에 데이터 구축하기(origins) Docker build java sudo apt install openjdk-17-jdk scala , spark 설치 후 환경 변수 설정 설치 wget https://www.apache.org/dyn/closer.lua/spark/spark-3.4.2/spark-3.4.2-...
What is Spark?
Type: Build | Type: Post | #DataPipeline #Spark #Airflow #Docker #Kafka[!todo] Docker compose로 Kafka, Spark를 구축한다. Kafka Topic 이름 : devices 내부 연결 DNS: broker Docker Container 구축 Airflow와 연동한다. Spark 알아보기 [b] REF 스칼라/스파크 설치 스칼라 다운로드-공식홈페이지 스파크 ...
Airflow's Permission
Type: SelfImprovement | Type: Post | #Airflow #Helm#AIRFLOW_HELM_CMD helm repo add apache-airflow https://airflow.apache.org helm pull apache-airflow/airflow helm upgrade --install airflow apache-airflow/airflow --namespace airflow --create-namespace -f custom_values.yaml helm delete airflow apache-airflow/airflow --namespace airflow helm ...
Make CustomResources for Airflow Image
Type: SelfImprovement | Type: Post | #Airflow #HelmProject Name: Helm Chart로 설치하기 Date: 2024-02-15 09:45 Tag: Contents: [i] 사전 설치 Docker [!] Version Helm airflow-1.12.0 Pre workspace 만들기 mkdir $HOME/airflow && cd airflow Dag 저장소 만들기 mkdir dags && cd dags ...
Ingress, customValues, mount etc.
Type: SelfImprovement | Type: Post | #Airflow #HelmProject Name: Airflow Helm Chart Config Date: 2024-02-14 09:20 Tag: #airflowhelm Contents: [b] REF [[2024-02-13-Add-Helm-Repository-Airflow#추가적으로 values 값을 변경 해야 하는 것 LIST]] [!] version apache-airflow 2.8.1 apache-airflow-providers-ap...
Approve Dag files (add Schedule interval)
Type: Startups | Type: Post | #Airflow[b] REF Producer,Consumer 구동 원리 이해하기 airka1 Ubuntu Server 22.04 LTS 172.16.11.62, 133.186.250.238 airka2 Ubuntu Server 22.04 LTS 172.16.11.30, 133.186.218.83 Dag 파일 수정 토픽을 생성하고 그 토픽을 재활용 하기 ...
Add Helm Repository Airflow
Type: SelfImprovement | Type: Post | #Airflow #Helmhelm repo 등록 완료 ingress 설정 스크립트 및 Vars 파일 수정 ingress 적용 username, password 적용 # In order to expose the service, use the route section below ingress: enabled: true labels: {} # traffic: external annotations: {} # | # kubernetes.io/ingress.class: nginx ...
Test networking between each Container
Type: Startups | Type: Post | #Airflow[b] REF python docs [*] 짱 좋은 REF airflow의 모든 provider,modules![[Pasted image 20240207094048.png]]![[Pasted image 20240207094117.png]] useage python library for airflow #airflowpip #airflowlibrary 문제 airflow ui > connection에 있는 conn type에 apach...
Connected Airflow with Kafka (v.Docker)
Type: Startups | Type: Post | #AirflowContents: 설치 [[2024-02-05-Install-Kafka-Airflow-Docker]] 버전 정보 [i] version Docker Compose version v2.24.5 Docker v2.24 confluentinc 6.1.15 zookeeper 3.8.3 kafka 2.7.x java 1.8, 11 [k] airflow 172.16.11.48, 133.186.155.37 [k] kafka 172.16.11.22, 133.186.240.216 Ka...
Install Kafka&Airflow by Docker
Type: Startups | Type: Post | #AirflowContents: Airflow: Docker 설치 library 설치 할 때에는 컨테이너를 접속해서 설치 해 주어야 한다. airflow 설치 curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.1/docker-compose.yaml' 환경 설정 mkdir -p ./dags ./logs ./plugins ./config echo -e "AIRFLOW_UID=$(id -u)" > .env ...
Install Kafka and Use Funcitons
Type: Startups | Type: Post | #AirflowProject Name: 로컬에 설치..해보기. [b] REF 차근차근 카프가 설치와 실헹 window_설치: 설치 진행 과정 [[window docker 설치]] : 설치 에러 참고 [*] Requirement Docker , Docker-compose - Docker 설치 및 과정은 생략, 위의 파일 링크 참고 - 설치의 과정은 Window 설치의 보통의 과정을 따름 INSTALL Kafka 맛보기 docker-compose.y...
Kafka Message Check
Type: Startups | Type: Post | #Airflow[b] REF kafka official docs getting start 시작하기: [[Quick Start]] airflow url {MASTER_IP}:8080 Topic 만들기 bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092 bin/kafka-topics.sh --describe --topic quickstart-events --bootstr...
Airflow and DataFrame
Type: Basic | Type: Post |I only want to get text from this html source, but please make a code that brings multiple titles in a repetition sentence use python <a title="Readme.md" aria-label="Readme.md, (File)" class="Link--primary" href="/K-PaaS/container-platform/blob/master/a...
Make Dags, python venv
Type: Basic | Type: Post |Index dags / pipeline source 다듬고 시작 dags ```python import sys import os from datetime import timedelta, datetime from airflow import DAG from airflow.operators.bash import BashOperator from airflow.operators.python_operator import PythonOperator from airflow.utils.trigger_rule import Trig...
Web crawling - Chrome Driver
Type: Basic | Type: Post |import file 같은 선상에 있는 폴더 내 파일 import - F1 |- aaa.py |- bbb.py --F2 |-- ccc.py --F3 |-- ddd.py ccc.py에서 ddd.py를 불러오고 싶을 때, import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) from F3 import ddd : 코드 받아오는건 나도 잘 모르겠다 .. . . . 결국 이 형식으로 받아오긴 함.. !...
Airflow-WebCrawling
Type: Basic | Type: Post |ref: 왕초보_가이드 Index Data 생성 Data 긁어오기 Dag 설정 파이프라인 생성 결과값 출력 AIRFLOW 설치 dependency 추가 및 airflow 설치 스크립트 AIRFLOW_VERSION=2.8.1 # Extract the version of Python you have installed. If you're currently using a Python version that is not supported by Airflow, you may want to ...