안녕하세요 선생님, 제가 선생님과 똑같은 코드로 Task 를 Trigger 를 해봤습니다. 실행도 되고 성공도 한 거 같기는 한데, 이상하게 GRID 창에서 Task 로그를 위해 클릭을 하려고 하면 저 빨간색 박스 부분이 비어있습니다. 그래서 로그를 못보고 있습니다. 혹시나 몰라 Task Graph 도 첨부합니다. 그리고 Airflow 버전은 2.10.5 를 사용중입니다.
강의의 절대 소리가 작아서, 휴대폰(갤럭시 S24) 기준으로 최대 볼륨으로 올려도 만족스러울만큼 크지가 않습니다. 또한 다른 애플리케이션에서 나오는 소리와 차이가 커서 볼륨을 계속 변경해줘야 해요. 이미 찍은 강의에서 이를 개선해주실 수 있을진 모르겠지만, 불편하다는 점 인지해주시면 감사하겠습니다.
안녕하세요. 강사님 현재 저는 mac 기반이며, airflow 을 띄우는데는 성공하였습니다. dag으로 들어가, 실행까지는 잘 되는데 그 후 코드나 그래프를 확인하려면 무한로딩만 되어 내용을 볼수없는 상황입니다 . 문제가 되는 화면인데, 혹시 몰라 docker ps 로 입력 시 일부 몇개가 unhealthy 하게 나오는것을 확인하였는데, 이 부분과 문제가 있을까요?
Broken DAG: [/opt/airflow/dags/dags_bash_ operator.py ] Traceback (most recent call last): File "<frozen importlib._bootstrap_external>", line 1063, in source_to_code File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "/opt/airflow/dags/dags_bash_ operator.py ", line 24 bash_t1 >> bash_t2 ^ IndentationError: unindent does not match any outer indentation level 이런 에러가 났는데요 소스에서 확인해보니 from airflow.operators.bash import BashOperator ㅇ airflow.operators.bash 에 ~~~~~~ 이렇게 되어 있네요. 강사님 따라 그대로 했는데 에러가 왜 난걸까요?
안녕하세요! 먼저 수업 잘 듣고 있습니다 :) 현재 section 6까지 완강하였습니다. 32강 varible 실습 코드부터 airflow에 올라오지 않는 것 같습니다. git push와 git pull 완료 후, wsl에 dags 폴더 내에 해당 코드들이 있는 건 확인했습니다. 하루에 정해진 작업량이 있어서 그런건지 여쭤보고 싶습니다. compose down 시키고 다시 airflow 올려도 똑같이 현시가 안되는 상황입니다....ㅠ
몇시간째 이유를 모르겠네요. 아래와 같은 에러로 airflow에서 postresql로 접속이 안되는것 같습니다. File "/opt/airflow/dags/dags_python_with_ postgres.py ", line 17, in insrt_postgres with closing(psycopg2.connect(host=ip, dbname=dbname, user=user, password=passwd, port=int(port))) as conn: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/psycopg2/__init__.py", line 122, in connect conn = connect(dsn, connection factory=connection_factory, **kwasync) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ psycopg2.OperationalError: connection to server at "172.28.0.3", port 5432 failed: Connection timed out Is the server running on that host and accepting TCP/IP connections? from airflow import DAG import pendulum from airflow.operators.python import PythonOperator with DAG( dag_id='dags_python_with_postgres', start_date=pendulum.datetime(2023,4,1, tz='Asia/Seoul'), schedule=None, catchup=False ) as dag: def insrt_postgres(ip, port, dbname, user, passwd, **kwargs): import psycopg2 from contextlib import closing with closing(psycopg2.connect(host=ip, dbname=dbname, user=user, password=passwd, port=int(port))) as conn: with closing(conn.cursor()) as cursor: dag_id = kwargs.get('ti').dag_id task_id = kwargs.get('ti').task_id run_id = kwargs.get('ti').run_id msg = 'insrt 수행' sql = 'insert into py_opr_drct_insrt values (%s,%s,%s,%s);' cursor.execute(sql,(dag_id,task_id,run_id,msg)) conn.commit() insrt_postgres = PythonOperator( task_id='insrt_postgres', python_callable=insrt_postgres, op_args=['172.28.0.3', '5432', 'emuce', 'emuce', 'emuce'] ) insrt_postgres
안녕하세요. 「앞서 Airflow 예제를 개선해보자 (v3) - 실습 편」 강의 수강 중 궁금한 점이 있어 문의드립니다. DAG 실행 시 생성되는 tmp 파일이 제대로 생성되었는지 확인하고 싶어, CLI 환경이 아닌 웹 UI상에서 확인할 수 있는 방법이 있는지 알아보던 중 궁금한 점이 생겼습니다. /opt/airflow 디렉토리 구조는 CLI 환경에서만 확인 가능한 것인지, 웹 UI상에서는 해당 경로의 파일 구조를 직접 확인할 수 없는 것인지 궁금합니다. 추가로 확인이 가능한 부분이 있다면 현업에서는 어떻게 주로 확인하는지도 궁금합니다!
섹션3. Bash operator DAG 만들기 & DAG 디렉토리 셋팅 안녕하세요, 에어플로우에 dags_bash_operator를 올리면 사진과 같이 몇 번을 시행해도 사진과 같이 실패합니다. sudo docker ps로 상태 확인해보면 별다른 문제가 없는 것 같은데, 문제의 원인이 무엇일까요?
에어플로우 설치 중 오류가 발생해 오랜시간동안 재시도해보다가 질문 드립니다.! 아래의 오류들에 대한 원인이 무엇일지, 그리고 어떻게 해결해야 할지 궁금합니다. 1. sudo docker compose up airflow-init 해당 코드 실행 중 'The container is run as root user. For security, consider using a regular user account.' 라는 알림이 나오며, 사용자-airflow-init-1 이 아닌 airflow-init-1로 뜹니다. sudo docker compose up 해당 코드 실행 중 'airflow-apiserver-1 is unhealthy'라는 오류가 발생합니다. (이 문제로 도커 초기화 및 재설치부터 고유한 user secret key 입력 등 여러번 시도했으나, 동일한 오류가 계속 반복됩니다.) 참고로, sudo docker compose up 코드 실행 중 다음과 같은 오류들이 주로 보입니다. airflow-apiserver-1 | ValueError: The value api_auth/jwt_secret must be set! airflow-apiserver-1 | ERROR: Application startup failed. Exiting. airflow-apiserver-1 | ERROR: Traceback (most recent call last): airflow-apiserver-1 | INFO: Child process [3223] died
선생님 안녕하세요 8-2 강의에서 trigger dag run 이 제대로 작동하지 않아 질문드립니다. 강의에서 제공된 코드와 똑같이 작성을 해서 dag를 만들었는데, dags_trigger_dag_run_operator는 정상 작동을 하는데, dags_python_operator가 돌아가지 않습니다. dag들은 잘 연결되어있거든요? 아래 그림에서 triggered dag 클릭하면 dags_python_operator로 넘어갑니다. 그런데 dags_python_operator에서는 실행 개수가 늘어나지 않고 그대로 입니다. 아래 그림에서 run id 에 manual 이라고 되어있는 것은 제가 이 dag를 직접 실행시켜서 그런 것이고, triggered 된 것이 아닙니다. 다만 dags_trigger_dag_run_operator 의 두번째 task에 이런 내용이 나오기는 합니다. 혹시 어떤 parameter가 좀 제대로 설정이 안되어있는 것일까요? 제 코드는 수업자료와 동일합니다.
먼저 좋은 강의 감사합니다. Airflow Limitation 내용 중 Inefficient for Short Tasks 라는 말씀 하셨는데요. 실무에서 Datapipeline 을 구성할때 해당 Task 을 잘게 자르게 되는데, 혹시 경험적으로 기준 시간은 어느 정도 수행 시간 이상으로 Task를 나눠야 효과적일까요?