◾️はじめに
celery.worker_autoscale ってのを学んだのでメモ
目次
【1】トラブル概要 【2】エラー内容 【3】原因 【4】対処案 【5】補足1:worker_autoscale 【6】補足2:AWS MWAA 1)celery.worker_autoscale 2)使用上の注意:デフォルト値 3)メモリ不足の場合
【1】トラブル概要
MWAAでエラー「Task exited with return code -9」が頻繁に発生する
【2】エラー内容
Task exited with return code -9
【3】原因
* MWAA(Airflow)のメモリ不足
より抜粋
~~~~~~
タスクによっては、Airflow ワーカーに割り当てられているメモリよりも
多くのメモリを使用する場合があります。
このような状況では、Negsignal.SIGKILL によって中断される可能性があります。
...
------
{local_task_job.py:102} INFO - Task exited with return code Negsignal.SIGKIL
------
Negsignal.SIGKILL はコード -9 として表示される場合もあります。
【4】対処案
* celery.worker_autoscale の値をデフォルト値より下げた => e.g. mw1.medium: 10,0 -> 5,0
【5】補足1:worker_autoscale
* ワーカーノードのタスク同時実行数(最大と最小)
https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#worker-autoscale
設定例:16,12
* 16: ワーカーノードのタスク同時実行の最大数 * 12: ワーカーノードのタスク同時実行の最小数 => 常に12以上のタスク同時実行数 => タスク同時実行数16までに抑える
【6】補足2:AWS MWAA
1)celery.worker_autoscale
https://docs.aws.amazon.com/ja_jp/mwaa/latest/userguide/configuring-env-variables.html
より抜粋 * worker_autoscale の Celery Executor を使用するすべてのワーカーで 同時に実行できるタスクの最大数と最小数。 * 値は次の順序でカンマで区切る必要があります: max_concurrency,min_concurrency
2)使用上の注意:デフォルト値
* 環境クラスによってデフォルト値が異なる
https://docs.aws.amazon.com/ja_jp/mwaa/latest/userguide/best-practices-tuning.html
| 環境クラス | Default values |
|---|---|
| mw1.micro | 3,0 |
| mw1.small | 5,0 |
| mw1.medium | 10,0 |
| mw1.large | 20,0 |
| mw1.xlarge | 40,0 |
| mw1.2xlarge | 80,0 |
3)メモリ不足の場合
* デフォルト値より小さくすることにより タスクあたりの容量を増えるため、改善が見込まれる
参考文献
https://dev.classmethod.jp/articles/amazon-mwaa-config-worker-autoscale/
関連記事
MWAA ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/09/29/131101
MWAA に関するトラブルシュート
https://dk521123.hatenablog.com/entry/2021/10/08/145311
MWAA で Secrets Manager の設定追加後にAirflow CLIからエラー
https://dk521123.hatenablog.com/entry/2024/01/18/122436
Apache Airflow ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/09/28/135510
Apache Airflow ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/07/24/233012
Apache Airflow ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/07/28/234319
動的なdbt 実行時でのトラブル
https://dk521123.hatenablog.com/entry/2024/09/10/145921