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