如何在Airflow集群创建算子中指定SPOT型可抢占虚拟机
配置Airflow Dataproc算子创建SPOT型辅助工作节点
在通过GCP控制台或Dataproc API创建集群时,可指定辅助工作节点的类型为SPOT、可抢占或不可抢占,但使用Airflow的Dataproc算子时,默认创建的辅助节点为可抢占虚拟机,且常规配置中找不到对应配置项。
用户当前的Airflow辅助工作节点配置如下:
"secondary_worker_config": { "num_instances": 5, "machine_type_uri": "SOME_MACHINE_TYPE", "disk_config": {"boot_disk_type": "pd-standard", "boot_disk_size_gb": 1024}, "image_uri" : "SOME_IMAGE_URI" }
解决方案
要创建SPOT型辅助工作节点,需在secondary_worker_config中添加instance_config字段,并设置preemptibility参数为SPOT。Airflow的Dataproc算子底层直接对接GCP Dataproc API,该参数对应API中的节点抢占策略配置。
修改后的完整配置示例:
"secondary_worker_config": { "num_instances": 5, "machine_type_uri": "SOME_MACHINE_TYPE", "disk_config": {"boot_disk_type": "pd-standard", "boot_disk_size_gb": 1024}, "image_uri" : "SOME_IMAGE_URI", "instance_config": { "preemptibility": "SPOT" } }
注意事项
- 确保使用的Airflow GCP Provider版本(
apache-airflow-providers-google)不低于v8.0.0,该版本开始完整支持Dataproc SPOT节点的配置参数。 - SPOT节点与可抢占节点的核心区别:SPOT节点基于闲置GCP资源定价,成本更低,但回收策略为基于价格和资源可用性,而非固定的24小时生命周期。
内容的提问来源于stack exchange,提问作者Neha Ranjan
相关产品推荐
相关产品推荐

