DevOps

[Airflow] Connection 연결 시 [TEST] 버튼 비활성화 해결방법

땅지원 2024. 10. 22. 13:21

Airflow webserver Container 내의 airflow.cfg 파일에서 'test_connection = Disabled' → 'test_connection = Enabled'로 바꿔주면서 해결하면 된다.

하지만 컨테이너 내부에 들어가 vi를 다운받아야 하는데 프록시 설정이 안되어 있어 apt update & apt install vim이 안되는 상황


1.docker-compose.yml 파일 내에 proxy 설정 추가 (x)

airflow-webserver:
  <<: *airflow-common
  command: webserver
  ports:
    - "5678:8080"
  healthcheck:
    test: ["CMD", "curl", "--fail", "http://localhost:8080/health"]
    interval: 30s
    timeout: 10s
    retries: 5
    start_period: 30s
  environment:
    - HTTP_PROXY=http://
    - HTTPS_PROXY=http://
  restart: always
  depends_on:
    <<: *airflow-common-depends-on
    airflow-init:
      condition: service_completed_successfully


하지만 db와 통신이 안되어 'Please airflow db init' 에러가 계속 나와 진행이 안됨

 

2. 호스트 서버에서 airflow.cfg 파일을 옮기기

docker exec -it -u root airflow-airflow-webserver-1 bash
 
cat airflow.cfg
rm -rf airflow.cfg



텍스트 복사 후 호스트 서버에서 test_connection = Enabled로 수정 후 파일 생성(airflow.cfg)

docker cp airflow.cfg airflow-airflow-webserver-1:/opt/airflow


docker restart airflow-airflow-webserver-1