我正在使用CeleryExecutor运行Airflow。我可以运行命令airflow webserver
和airflow scheduler
但是尝试运行airflow worker
会出错: socket.error:[Errno 98]地址已在使用中
答案 0 :(得分:6)
在运行Airflow服务器的docker容器中,进程已在端口8793上运行,默认情况下airflow.cfg中的 worker_log_server_port 设置。我将端口更改为8795,命令airflow worker
正常工作。
或者您可以将听取8793的过程检查为:lsof i:8793
,如果您不需要该过程,则可以通过以下方式检查:kill $(lsof -t -i:8793)
。我在docker中运行ubuntu容器我必须首先安装lsof:
apt-get update
apt-get install lsof
答案 1 :(得分:0)
我遇到了同样的问题,Javed关于更改aiflow.cfg上的 worker_log_server_port 的答案对我有用。
答案 2 :(得分:0)
查看是否正在运行server_logs进程,如果是,则将其杀死并重试。
/ usr / bin / python2 / usr / bin / airflow serve_logs