我目前正在使用EC2实例在亚马逊网络服务上使用气流。最大的问题是实例的平均使用率约为2%...
我想使用一个可伸缩的体系结构,只在作业期间创建实例,然后杀死它。我在路线图上看到AWS BATCH被认为是2017年的执行者,但这并不是什么新鲜事。
您是否知道是否可以使用AWS BATCH作为所有气流作业的执行器?
你好,罗曼。
没有执行器,但在版本1.10中提供了操作员。在AWS批处理上创建执行环境、作业队列和作业定义后,可以使用AWSBatch操作符
触发作业。
这里是源代码。
目前有一个SequentialExecutor、一个LocalExecutor、一个DaskExecutor、一个CeleryExecutor和一个MesosExecutor。我听说他们正在研制AIRFLOW-1899,目标是2.0版的Kubernetesecutor。所以,看看Dask和芹菜,他们似乎不支持按任务创建工人的模式。Mesos可能会,Kubernetes应该会,但随后您必须相应地为工作者缩放集群,以考虑在不需要时关闭节点。
我们做了一点工作来获得一个云形成设置,芹菜工人横向扩展,并基于来自云的指标观察标记工人的平均cpu负载。
您需要创建一个能够提交和监视AWS批处理作业的自定义执行器(从BaseExecutor
扩展)。还可能需要为实例创建自定义Docker映像。