我正在尝试修改现有的气流芹菜集群,使调度器成为不运行作业的专用主节点。(目前,所有节点都作为工作程序运行;我想防止调度器成为工作程序。)
我该如何做到这一点?
如果您使用这种气流分布的docker swarm进行部署,您可以指定在哪种节点中部署每个服务。
因此,您可以强制在管理器节点中部署调度器:
scheduler:
image: puckel/docker-airflow:1.10.1
deploy:
replicas: 1
placement:
constraints: [node.role==manager]
工人节点中的工人服务:
worker:
image: puckel/docker-airflow:1.10.1
deploy:
replicas: 3
placement:
constraints: [node.role==worker]
在我们的集群中,UI和调度器位于同一节点上。这是我们的"主"节点。
当我们启动这两个组件时,我们使用以下命令:
airflow scheduler
airflow webserver
在工作节点上,使用启动它们
airflow worker
这使您的流程保持独立。
如果您需要其他帮助,请编辑您的答案并发布您的配置文件。