inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

트레비스에서 he command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. 형태로 에러가 발생합니다.

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

he command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. 85.61s$ docker build -t tedkov2024/docker-react-nginx-app -f Dockerfile . 0.60s$ docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage /docker-entrypoint.sh: 47: exec: npm: not found The command "docker run -e CI=true tedkov2024/docker-react-nginx-app npm run test -- --coverage" exited with 127. Done. Your build exited with 1. 무엇이 문제인지 모르겠습니다.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
매력적인홍홍홍 댓글 1 좋아요 0 조회수 350

설명 파일 보는 곳?

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

이 설명하는 파일 어디서 볼수 있나요?

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
kim1234123 댓글 2 좋아요 0 조회수 245

강의 docker질문

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

백엔드인 전 mysql이 있는 상태인데 프론트엔드가 mysql이 없는 상태라면 프론트엔드를 위해서 강의와 같이 docker로 mysql 환경 설정을 해야하는 건가요?? nginx를 통해서하면 프론트엔드는 mysql를 설치할 필요가 없다고 들었어서요

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
kim1234123 댓글 1 좋아요 0 조회수 294

쿼리 상에서 설명 추가방법+단축키도 함께

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

쿼리상에서 실행되지 않게 설명 추가하는 방법이 어떻게 될까요? 이전에 단축키랑 함께 배웠는데 못찾겠네요 ㅠ - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
김혜린 댓글 1 좋아요 0 조회수 250

오프셋 커밋이 실패된 이후 consume 하는 경우 문의

미해결

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

안녕하세요. 컨슈머에서 오프셋 커밋이 네트워크 등의 장애로 실패하고나면 동일한 컨슈머에서는 해당 오프셋을 다시 읽게 되나요? 아니면, 해당 오프셋은 skip 되나요? 예를 들어서, 아래와 같이 한 개의 파티션에 10개의 레코드가 있는 경우를 가정해볼게요. (비동기 수동 커밋 가정, 가져오는 레코드 개수는 1개씩) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 1 ~ 2 번까지는 오프셋 커밋이 정상적으로 이루어지고, 3 번을 제외한 4 번까지 오프셋 커밋이 되었다고 가정해보면, 다음 poll() 메서드에서는 5 번 오프셋을 가져오게 되나요? 아니면 3 번 오프셋을 다시 조회하게 되나요? 감사합니다.

  • kafka
  • 데이터-엔지니어링
raccoon 댓글 2 좋아요 0 조회수 294

[공유] DNS_PROBE_FINISHED_NXDOMAIN 문제시

미해결

15일간의 빅데이터 파일럿 프로젝트

저는 macbook을 사용중이며 intel-chip입니다. M1은 여러차례 자체구성을 시도 하였지만, centOS는 7이였나 8이상부터 m1에서도 설치가 되도록 arm based ios를 제공하였지만 설치를 실패하였고, reddit과 git 커뮤등의 centOS의 설치 이미지를 m1칩에 맞게 리빌드 등의 작업이 필요하다는 등으로 시간이 너무 소요되고 강의를 듣기전 지칠듯하여 skip하였습니다. 제공받은 VM파일로 구성후 크롬에서 cloudera manager 접근시 DNS_PROBE_FINISHED_NXDOMAIN의 문제가 발생하였고, 높은 확율로 hosts의 오타를 의심하였지만 오타는 아니였습니다. DNS 캐시 및 초기화를 진행하였고, 크롬의 캐시 또한 삭제하였습니다. 그래도 동일한 오류로 접근이 불가하여 ping과 telnet을 날리니 핑은 날라가나 telnet으로 포트와 함께 날릴시 접근이 불가한것을 확인하였습니다. 올바른 해결방법일지는 모르겠지만 해당 포트가 접근이 불가능하다 판단하여, VM server01에 네트워크 설정에서 > 어댑터 1 > 고급 > 포트 포워딩 > 호스트포트 7180 / 게스트포트 7180 으로 세팅하여 정상 접근 확인하였습니다. 저와 같이 이러한 문제를 만나시는 분이 계시면 조금 더 빠른 해결 방법을 찾길 바라며 글 남깁니다. P.S. BigD님 혹 해당 방법이 올바른 방법이 아니라면 잘못된 정보라 표시 부탁드립니다. 제가 아직 강의 초반이기에 해당 설정을 건드리어 후반부의 강의에 영향을 끼칠지에 대한 확신이 없습니다ㅠㅠ

  • 빅데이터
  • hadoop
  • kafka
  • zookeeper
  • redis
  • flume
  • impala
  • 데이터-엔지니어링
D Kim 댓글 1 좋아요 0 조회수 671

HDFS, Hive new Connection : apt-get update

해결됨

Airflow 마스터 클래스

HDFS, Hive를 위한 Connection 추가 과정에서 이미지를 빌드하는 부분에서 에러가 발생합니다. 아래 명령 실행 후 에러가 발생하며, 에러 부분은 이미지(참고2)로 첨부하였습니다. sudo docker build -t airflow_custom . (참고 - Dockerfile 내용 / airflow 2.8.0 version 설치) (참고2 - 에러로그)

  • python
  • 데이터-엔지니어링
  • airflow
김도현 댓글 2 좋아요 1 조회수 350

python 오퍼레이터 실행되지 않음

미해결

Airflow 마스터 클래스

아래 코드 작동을 안합니다 어디가 잘못된 걸까요 operator 생성된게 보이지 않습니다 git pull까지 다한 상태입니다 from airflow import DAG import pendulum import datetime from airflow.operators.python import PythonOperator import random with DAG( dag_id="dags_python_operator", schedule="30 6 * *", start_date=pendulum.datetime(2024, 1, 9, tz="Asia/Seoul"), catchup=False, ) as dag: def select_fruit(): fruit = ['APPLE', 'BANANA', 'ORANGE', 'AVOCADO'] rand_int = random.randint(0,3) print(fruit[rand_int]) py_t1 = PythonOperator( task_id = 'py_t1', python_callable=select_fruit ) py_t1

  • python
  • 데이터-엔지니어링
  • airflow
인프독학 댓글 1 좋아요 0 조회수 358

도커 생명주기파트 docker system prune 질문

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

수업듣기전에 야매로 배워서 몇개 돌려봤었던것들을 수업에서 docker system prune을 사용하면 실행되고 있지 않은 컨테이너, 이미지, 네트워크등이 지워진다고 했는데 컨테이너는 지워졌지만 이미지는 남아있는데 어떤게 잘못된 건가요?

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
문석훈 댓글 1 좋아요 0 조회수 292

맥에서 원본 도표 강의자료

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

학습환경 mac m2 sonoma 14.0 chrome 구글드라이브에서 원본 도표 강의자료를 다운받아서 파일을 열어보면 txt파일로 열려서 사진같이 보이기보단 코드들만 나옵니다. 파일의 확장명이나 사용하시는 프로그램 뷰어가 뭔가요? Docker #1과 Docker #2다운받아봤습니다.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
문석훈 댓글 1 좋아요 0 조회수 300

CLI에서 메시지를 컨슈머로 읽을 때 배치시간에 영향을 받나요?

미해결

카프카 완벽 가이드 - 코어편

Key가 없는 메시지의 파티션 분배전략 - 라운드로빈과 스티키 파티셔닝 해당 파트에서 프로듀서가 보낸 메시지를 우선 배치에 넣고 토픽에 삽입한다고 적혀있습니다. 그 전 강의에서 컨슈머가 해당 파티션을 읽고 있고 프로듀서로 값을 보내면 바로바로 읽혔습니다. 이것도 프로듀서에서 보낸 메시지를 배치에서 대기하다가 대기시간이 만료돼서 토픽에 값이 삽입된건가요? 그 시간이 너무 짧아서 실시간으로 읽히는 것처럼 보이는 것으로 이해하면 될까요?

  • kafka
  • 데이터-엔지니어링
tpdud285 댓글 1 좋아요 0 조회수 250

Alter 질문이 있습니다

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

만약 스키마 생성 후 데이터 적재까지 완료했다고 가정할 때,Alter 구문으로 테이블 스키마 수정 혹은 컬럼 추가를 하게되면 기존에 적재된 데이터는 없어지나요?아니면 그대로 유지되나요? 적재 후 나중에라도 컬럼 추가하거나 PK 추가하고 싶을 때 어떻게 해결하는지 궁금합니다.아예 DROP 하고 처음부터 스키마 생성해서 적재하나요? 좋은 강의 감사합니다.

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
탱스 댓글 1 좋아요 0 조회수 241

응용프로그램에서 kafka 에 Producer로 직접 넣은 데이터를 sink connector를 이용해 DB로 받는 방법

해결됨

카프카 완벽 가이드 - 커넥트(Connect) 편

안녕하세요. Kakfa를 이용 하던 중 다음의 상황을 Kafka (sink) Connector를 사용하여 구현하려 합니다. Clinet에는 응용프로그램이 Data를 수집하여 JSON 포멧으로 Producer를 구현하여 Kafka topic으로 Data를 전송함 (key : null, value : JSON 포멧의 Data) Kafka의 topic에 쌓여 있는 정보를 다른 응용프로그램이 Consumer를 구현하여 Data를 사용 중 (이와는 병렬로 추가로 DB에 저장 하는것이 목적입니다.) 이 때 이 kafka topic에 저장 되는 data를 kafka sink connector를 사용하여 Database(RDBMS, MSSQL)에 저장을 하려 합니다. topic에 쌓이는 Data의 Schema가 변경이 될 수 있어, value로 들어 오는 값을 그대로 하나의 string 단일 컬럼으로 지정하여 schema registry에 등록 하여 sink connector로 받아 갈 수 있을 까요? 아니면 더 간단한 방법이 있을 까요? (Value 값을 string 하나의 컬럼으로 DB로 가져가서 DB에서 parsing 하여 사용할 계획 입니다.)

  • kafka
  • 데이터-엔지니어링
lkkikaka 댓글 1 좋아요 0 조회수 692

dags_external_task_sensor 오류 질문

미해결

Airflow 마스터 클래스

선생님 안녕하세요 좋은 강의 감사합니다. section 9 dags_external_task_sensor 에서, task b 가 fail로 뜨지 않고 계속 running 인 오류가 나는 데 이유를 모르겠습니다. dags_branch_python_operator는 아래와 같습니다. from airflow import DAG import pendulum from airflow.operators.python import PythonOperator from airflow.operators.python import BranchPythonOperator with DAG( dag_id='dags_branch_python_operator', start_date=pendulum.datetime(2023,4,1, tz='Asia/Seoul'), schedule='0 1 * * *', catchup=False ) as dag: def select_random(): import random item_lst = ['A','B','C'] selected_item = random.choice(item_lst) # 만약 실행해야 하는 task가 하나라면 task_id를 str 으로 하나만 넣는다. # 만약 실행해야 하는 task가 두개 이상이라면 list of str을 넣는다. if selected_item == 'A': return 'task_a' elif selected_item in ['B','C']: return ['task_b','task_c'] python_branch_task = BranchPythonOperator( task_id='python_branch_task', python_callable=select_random ) def common_func(**kwargs): print(kwargs['selected']) task_a = PythonOperator( task_id='task_a', python_callable=common_func, op_kwargs={'selected':'A'} ) task_b = PythonOperator( task_id='task_b', python_callable=common_func, op_kwargs={'selected':'B'} ) task_c = PythonOperator( task_id='task_c', python_callable=common_func, op_kwargs={'selected':'C'} ) python_branch_task >> [task_a, task_b, task_c] 마지막으로 돌린 기록은 a를 선택하고, b,c 는 skipped 된 상태입니다. dags_external_task_sensor 는 아래와 같고요 from airflow import DAG from airflow.sensors.external_task import ExternalTaskSensor import pendulum from datetime import timedelta from airflow.utils.state import State with DAG( dag_id='dags_external_task_sensor', start_date=pendulum.datetime(2023,4,1, tz='Asia/Seoul'), schedule='0 7 * * *', catchup=False ) as dag: external_task_sensor_a = ExternalTaskSensor( task_id='external_task_sensor_a', external_dag_id = 'dags_branch_python_operator', external_task_id='task_a', allowed_states=[State.SKIPPED], # task_a 가 skipped로 되면 sensor_a task는 success로 표시된다는 뜻 # allowed states 조건을 만족하지 못하면 계속 실행된다. 10초마다 execution_delta=timedelta(hours=6), poke_interval=10 # 10초 ) external_task_sensor_b = ExternalTaskSensor( task_id='external_task_sensor_b', external_dag_id = 'dags_branch_python_operator', external_task_id='task_b', failed_states=[State.SKIPPED], # task_b 가 skipped로 되면 sensor_b task는 failed로 표시된다는 뜻 execution_delta=timedelta(hours=6), poke_interval=10 ) external_task_sensor_c = ExternalTaskSensor( task_id='external_task_sensor_c', external_dag_id = 'dags_branch_python_operator', external_task_id='task_c', allowed_states=[State.SUCCESS], # task_c 가 success로 되면 sensor_c task는 success로 표시된다는 뜻 # success가 뜰때까지 꼐속 시도를 한다. execution_delta=timedelta(hours=6), poke_interval=10 ) 이대로라면 강의에서 나온것 처럼 , b만 fail로 뜨고 a,c는 계속 running 이어야 하는데요, 셋다 running 이 나옵니다. log를 보면 계속 b를 poke만 하고 있더라고요 혹시 무엇이 문제일까요..?ㅠ

  • python
  • 데이터-엔지니어링
  • airflow
nathan 댓글 1 좋아요 0 조회수 375

시각화 관련 질문

미해결

Airflow 마스터 클래스

선생님 안녕하세요 좋은 강의 감사합니다. 강의 내용에 대한 질문은 아니고요. 혹시 실습1에서 Rshiny를 사용하신 이유가 따로 있으실까요? Airflow는 파이썬이고, Rshiny를 처음 보는 것이어서 파이썬으로 된 시각화 라이브러리를 왜 사용하지 않는지 궁금합니다. plotly의 dash 같은 것은 airflow와 연동이 안되는건가요?

  • python
  • 데이터-엔지니어링
  • airflow
nathan 댓글 1 좋아요 0 조회수 213

맥으로 에어플로우 라이브러리 설치가 안됩니다.

미해결

Airflow 마스터 클래스

1 error generated. error: command '/usr/bin/gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for google-re2 Failed to build google-re2 ERROR: Could not build wheels for google-re2, which is required to install pyproject.toml-based projects 이렇게 뜨는데 뭐가 문젤까요 검색해도 해결방법이 안뜨네요.

  • python
  • 데이터-엔지니어링
  • airflow
이상윤 댓글 1 좋아요 0 조회수 1350

ksqlDB Cluster 여부 - 박성범님 질문(제가 대신해서 적습니다)

미해결

카프카 완벽 가이드 - ksqlDB

안녕하십니까, 박성범님이 수강평과 함께 질문을 올려 주셔서 제가 질문과 답변을 함께 적겠습니다. 먼저 질문 내용은 ksqlDB Cluster 구성 가능에 대한 질문입니다.

  • kafka
  • 데이터-엔지니어링
  • ksqldb
권 철민 댓글 2 좋아요 0 조회수 697

병렬처리 질문드립니다.

해결됨

실리콘밸리 엔지니어와 함께하는 Apache Airflow

안녕하세요 선생님 🙂 airflow 실습중에 airflow의 병렬처리에서 메시지 큐가 어떻게 처리되는지 궁금하여 질문드립니다! celery와 k8s를 병렬처리에 사용함에 있어서 메시지 큐를 별도로 설정하지 않는것 같은데요. 이 둘은 메시지 큐를 알아서 처리해주는건거요? celery와 k8s를 사용한 병렬 처리방식은 이해못해서 일단은 concurrent 패키지의 ThreadPoolExecutor 사용하여 병렬 처리를 하였습니다. airflow에서 병렬처리시 일반적으로 threadPool을 사용하는지도 궁금합니다. threadPool이 일반적이지 않다면 어떤 방식으로 병렬 처리를 하는지 궁금합니다! 항상 감사합니다! 🙂

  • python
  • 빅데이터
  • 데이터-엔지니어링
  • airflow
JP 댓글 2 좋아요 1 조회수 536

색션8 postgres

해결됨

Airflow 마스터 클래스

안녕하세요 선생님 색션8 2장에서 docker-compose.yaml파일을 수정 하고 sudo docker compose up 하니 docker-compose.yaml: services.airflow-scheduler.depends_on.networks condition is required 라는 오류가 납니다. 코드는 # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # Basic Airflow cluster configuration for CeleryExecutor with Redis and PostgreSQL. # # WARNING: This configuration is for local development. Do not use it in a production deployment. # # This configuration supports basic configuration using environment variables or an .env file # The following variables are supported: # # AIRFLOW_IMAGE_NAME - Docker image name used to run Airflow. # Default: apache/airflow:2.7.3 # AIRFLOW_UID - User ID in Airflow containers # Default: 50000 # AIRFLOW_PROJ_DIR - Base path to which all the files will be volumed. # Default: . # Those configurations are useful mostly in case of standalone testing/running Airflow in test/try-out mode # # _AIRFLOW_WWW_USER_USERNAME - Username for the administrator account (if requested). # Default: airflow # _AIRFLOW_WWW_USER_PASSWORD - Password for the administrator account (if requested). # Default: airflow # _PIP_ADDITIONAL_REQUIREMENTS - Additional PIP requirements to add when starting all containers. # Use this option ONLY for quick checks. Installing requirements at container # startup is done EVERY TIME the service is started. # A better way is to build a custom image or extend the official image # as described in https://airflow.apache.org/docs/docker-stack/build.html. # Default: '' # # Feel free to modify this file to suit your needs. --- version: '3.8' x-airflow-common: &airflow-common # In order to add custom dependencies or upgrade provider packages you can use your extended image. # Comment the image line, place your Dockerfile in the directory where you placed the docker-compose.yaml # and uncomment the "build" line below, Then run `docker-compose build` to build the images. image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.7.3} # build: . environment: &airflow-common-env AIRFLOW__CORE__EXECUTOR: CeleryExecutor AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow # For backward compatibility, with Airflow <2.3 AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0 AIRFLOW__CORE__FERNET_KEY: '' AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true' AIRFLOW__CORE__LOAD_EXAMPLES: 'true' AIRFLOW__API__AUTH_BACKENDS: 'airflow.api.auth.backend.basic_auth,airflow.api.auth.backend.session' # yamllint disable rule:line-length # Use simple http server on scheduler for health checks # See https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/check-health.html#scheduler-health-check-server # yamllint enable rule:line-length AIRFLOW__SCHEDULER__ENABLE_HEALTH_CHECK: 'true' # WARNING: Use _PIP_ADDITIONAL_REQUIREMENTS option ONLY for a quick checks # for other purpose (development, test and especially production usage) build/extend Airflow image. _PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:-} AIRFLOW__SMTP__SMTP_HOST: 'smtp.gmail.com' AIRFLOW__SMTP__SMTP_USER: '' AIRFLOW__SMTP__SMTP_PASSWORD: '' AIRFLOW__SMTP__SMTP_PORT: 587 AIRFLOW__SMTP__SMTP_MAIL_FROM: '' volumes: - ${AIRFLOW_PROJ_DIR:-.}/airflow/dags:/opt/airflow/dags - ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs - ${AIRFLOW_PROJ_DIR:-.}/config:/opt/airflow/config - ${AIRFLOW_PROJ_DIR:-.}/airflow/plugins:/opt/airflow/plugins - ${AIRFLOW_PROJ_DIR:-.}/airflow/files:/opt/airflow/files user: "${AIRFLOW_UID:-50000}:0" depends_on: &airflow-common-depends-on redis: condition: service_healthy postgres: condition: service_healthy services: postgres_custom: image: postgres:13 environment: POSTGRES_USER: userbbs POSTGRES_PASSWORD: userbbs POSGRES_DB: userbbs TZ: Asia/Seoul volumes: - postgres-custom-db-volume:/var/lib/postgresql/data ports: - 5432:5432 networks: network_custom: ipv4_address: 172.28.0.3 postgres: image: postgres:13 environment: POSTGRES_USER: airflow POSTGRES_PASSWORD: airflow POSTGRES_DB: airflow volumes: - postgres-db-volume:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "airflow"] interval: 10s retries: 5 start_period: 5s restart: always ports: - 5431:5432 networks: network_custom: ipv4_address: 172.28.0.4 redis: image: redis:latest expose: - 6379 healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 30s retries: 50 start_period: 30s restart: always networks: network_custom: ipv4_address: 172.28.0.5 airflow-webserver: <<: *airflow-common command: webserver ports: - "8080:8080" healthcheck: test: ["CMD", "curl", "--fail", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 5 start_period: 30s restart: always depends_on: <<: *airflow-common-depends-on airflow-init: condition: service_completed_successfully networks: network_custom: ipv4_address: 172.28.0.6 airflow-scheduler: <<: *airflow-common command: scheduler healthcheck: test: ["CMD", "curl", "--fail", "http://localhost:8974/health"] interval: 30s timeout: 10s retries: 5 start_period: 30s restart: always depends_on: <<: *airflow-common-depends-on airflow-init: condition: service_completed_successfully networks: network_custom: ipv4_address: 172.28.0.7 airflow-worker: <<: *airflow-common command: celery worker healthcheck: # yamllint disable rule:line-length test: - "CMD-SHELL" - 'celery --app airflow.providers.celery.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}" || celery --app airflow.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}"' interval: 30s timeout: 10s retries: 5 start_period: 30s environment: <<: *airflow-common-env # Required to handle warm shutdown of the celery workers properly # See https://airflow.apache.org/docs/docker-stack/entrypoint.html#signal-propagation DUMB_INIT_SETSID: "0" restart: always depends_on: <<: *airflow-common-depends-on airflow-init: condition: service_completed_successfully networks: network_custom: ipv4_address: 172.28.0.8 airflow-triggerer: <<: *airflow-common command: triggerer healthcheck: test: ["CMD-SHELL", 'airflow jobs check --job-type TriggererJob --hostname "$${HOSTNAME}"'] interval: 30s timeout: 10s retries: 5 start_period: 30s restart: always depends_on: <<: *airflow-common-depends-on airflow-init: condition: service_completed_successfully networks: network_custom: ipv4_address: 172.28.0.9 airflow-init: <<: *airflow-common entrypoint: /bin/bash # yamllint disable rule:line-length command: - -c - | function ver() { printf "%04d%04d%04d%04d" $${1//./ } } airflow_version=$$(AIRFLOW__LOGGING__LOGGING_LEVEL=INFO && gosu airflow airflow version) airflow_version_comparable=$$(ver $${airflow_version}) min_airflow_version=2.2.0 min_airflow_version_comparable=$$(ver $${min_airflow_version}) if (( airflow_version_comparable < min_airflow_version_comparable )); then echo echo -e "\033[1;31mERROR!!!: Too old Airflow version $${airflow_version}!\e[0m" echo "The minimum Airflow version supported: $${min_airflow_version}. Only use this or higher!" echo exit 1 fi if [[ -z " 입니다. 어디서 잘못 된걸까요?

  • python
  • 데이터-엔지니어링
  • airflow
가나다 댓글 1 좋아요 0 조회수 329

Idempotence 관련 질문 드립니다.

미해결

카프카 완벽 가이드 - 코어편

안녕하세요, 좋은 강의 만들어주셔서 감사합니다. Idempotence 관련해서 보다가 궁금한게 있어서 문의 드립니다. Idempotence를 사용하면 Producer에서 전송된 Broker로 전송 시 메시지 전송 순서가 유지가 된다고 하셨는데, 파티션된 토픽에 대해서는 어떻게 되는지 궁금합니다. 파티션 내에서만 순서가 유지되는 걸까요? 파티션이 3개로 된 토픽의 경우는 10개의 메시지가 전달 될 때 10개의 메시지가 쪼개져서 파티션별로 데이터가 들어갈텐데 그렇게 되면 전체 토픽에 대해서 순서 유지가 안되지 않을까해서 질문 드렸습니다. 감사합니다.

  • kafka
  • 데이터-엔지니어링
강철 댓글 2 좋아요 0 조회수 207

인기 태그

인프런 TOP Writers

주간 인기글