Published 2022. 11. 18. 18:50
728x90
반응형
Airflow 테스트 환경을 만들고 서버를 종료했다고 생각했는데 다시 서버를 실행하려고 하니 다음과 같은 에러가 발생했다.
(airflow) ~/workspace/airflow $ airflow webserver --port 8080
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
Traceback (most recent call last):
File "/Users/jaynam/workspace/airflow/airflow/bin/airflow", line 8, in <module>
sys.exit(main())
File "/Users/jaynam/workspace/airflow/airflow/lib/python3.8/site-packages/airflow/__main__.py", line 39, in main
args.func(args)
File "/Users/jaynam/workspace/airflow/airflow/lib/python3.8/site-packages/airflow/cli/cli_parser.py", line 52, in command
return func(*args, **kwargs)
File "/Users/jaynam/workspace/airflow/airflow/lib/python3.8/site-packages/airflow/utils/cli.py", line 103, in wrapper
return f(*args, **kwargs)
File "/Users/jaynam/workspace/airflow/airflow/lib/python3.8/site-packages/airflow/cli/commands/webserver_command.py", line 365, in webserver
check_if_pidfile_process_is_running(pid_file=pid_file, process_name="webserver")
File "/Users/jaynam/workspace/airflow/airflow/lib/python3.8/site-packages/airflow/utils/process_utils.py", line 317, in check_if_pidfile_process_is_running
raise AirflowException(f"The {process_name} is already running under PID {pid}.")
airflow.exceptions.AirflowException: The webserver is already running under PID 13797.
이미 웹 서버가 실행중이라고 한다.
이 에러에 대해서 찾아보니 정상적으로 종료되지 않는 경우가 있다고 한다.
그래서 이런 경우에는 PID 를 통해 종료시켜줘야 한다.
아래와 같이 확인할 수 있다.
(airflow) ~/workspace/airflow $ lsof -i tcp:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 13797 jaynam 5u IPv4 0xcd66da8623960a07 0t0 TCP *:http-alt (LISTEN)
Python 21934 jaynam 5u IPv4 0xcd66da8623960a07 0t0 TCP *:http-alt (LISTEN)
Python 21935 jaynam 5u IPv4 0xcd66da8623960a07 0t0 TCP *:http-alt (LISTEN)
Python 21936 jaynam 5u IPv4 0xcd66da8623960a07 0t0 TCP *:http-alt (LISTEN)
Python 21937 jaynam 5u IPv4 0xcd66da8623960a07 0t0 TCP *:http-alt (LISTEN)
# PID 만 출력
(airflow) ~/workspace/airflow $ lsof -t -i :8080
13797
21934
21935
21936
21937
확인하고 나서 kill 해주면 된다.
kill -9 [PID]
# 한번에 종료
kill -9 $(lsof -t -i :8080)
종료한 후에 다시 웹 서버 실행해보기
(airflow) ~/workspace/airflow $ airflow webserver --port 8080
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
Running the Gunicorn Server with:
Workers: 4 sync
Host: 0.0.0.0:8080
Timeout: 120
Logfiles: - -
Access Logformat:
=================================================================
[2022-11-18 18:49:25 +0900] [23595] [INFO] Starting gunicorn 20.1.0
[2022-11-18 18:49:25 +0900] [23595] [INFO] Listening at: http://0.0.0.0:8080 (23595)
[2022-11-18 18:49:25 +0900] [23595] [INFO] Using worker: sync
[2022-11-18 18:49:25 +0900] [23597] [INFO] Booting worker with pid: 23597
[2022-11-18 18:49:25 +0900] [23598] [INFO] Booting worker with pid: 23598
[2022-11-18 18:49:25 +0900] [23599] [INFO] Booting worker with pid: 23599
[2022-11-18 18:49:26 +0900] [23600] [INFO] Booting worker with pid: 23600
정상적으로 실행되는 것을 확인할 수 있다. 👍
728x90
반응형
'데이터 엔지니어링 > Airflow' 카테고리의 다른 글
3. 공공데이터포털 데이터 전처리하기(2) (0) | 2023.01.02 |
---|---|
2. 공공데이터포털 데이터 전처리하기 (1) (0) | 2022.12.31 |
1. 공공데이터포털 데이터 가져오기 (0) | 2022.12.25 |
0. Airflow 데이터 파이프라인 만들어보기 (토이 프로젝트) (0) | 2022.12.25 |
Python 가상 환경에서 airflow 설치해보기 (1) | 2022.11.05 |