LoginSignup
1
3

More than 3 years have passed since last update.

redashで`Worker exited prematurely: signal 9 (SIGKILL)`が出た時の対処方

Last updated at Posted at 2020-03-03

前提

AWSのEC2上起動
redash推奨のAMI使用
Setting up a Redash Instance

経緯

redashで少し結果セットが大きいSQLを設定したところ、以下のようなエラーが発生した。

Worker exited prematurely: signal 9 (SIGKILL)

redashのトラブルシューティングにエラーについて記載があったので確認
Troubleshooting

EC2はt2.smallを選択していてメモリ2GIBしかないことから、メモリ不足ではないかと思い調査をした

メモリ不足の調査

redashはDockerで動いていたため、docker statsでメモリ使用状況を確認した。
LIMITが1.945GiBとなっていたため、Dockerのメモリはすべて割り当てられていると想定。


CONTAINER ID        NAME                        CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
1b402a43d63c        redash_nginx_1              0.01%               2.664MiB / 1.945GiB   0.13%               49.2MB / 17.7MB     280MB / 0B          2
21748bb6d284        redash_scheduled_worker_1   0.18%               190.2MiB / 1.945GiB   9.55%               88MB / 47.8MB       1.32GB / 0B         2
b0a705b2111c        redash_scheduler_1          2.19%               280MiB / 1.945GiB     14.05%              108MB / 62.9MB      2.07GB / 8.4MB      3
13ddb29d3e6f        redash_server_1             37.26%              487.9MiB / 1.945GiB   24.49%              39.8MB / 50.5MB     3.46GB / 1.97MB     5
8e2540af59fe        redash_postgres_1           0.01%               5.52MiB / 1.945GiB    0.28%               103MB / 34.7MB      2.15GB / 116MB      7
bc73e56ac9a2        redash_redis_1              1.84%               2.855MiB / 1.945GiB   0.14%               151MB / 275MB       3.98GB / 85.9MB     4

そこでインスタンスのスケールアップを検討したが、Swapfileを作成することをメンバから勧められた。

swapfile の作成の仕方

swapfileとは
https://wa3.i-3-i.info/word1722.html

まぁ「スワップファイル」って単語が出てきたら「メモリの内容を一時的にしまっておくファイルなんだな~」と、お考えください。

ハードディスクを間借りしてメモリの内容を一時保存できる方法みたい。
そこでredashはubuntuであるため、以下サイトを参考にswapfileを作成してみた。

Ubuntu Server 18.04 LTS スワップファイル設定

※ハードディスクの容量を抑えつつ、推奨の2Gbよりも少なめの1GBで設定

sudo dd if=/dev/zero of=/var/swap/swap0 bs=1M count=1024

参考
スワップ領域の目安
ブロックサイズについて

※一応ubuntuのバージョンが18.04であることを確認。

root@ip-10-30-10-134:/home/ubuntu# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

結果

再度redashでクエリを実行したら、遅くても頑張って結果を返してくれるようになりました。
勉強になった。

追記

2020/08/12

Swapfileがサーバの容量を圧迫してredashが使えなくなったので追記します。

Swapfileを削除すれば、一旦容量が空きます。
SWAP ファイルを削除する

linuxの不要なパッケージファイルを削除する
[Redash]突然Internal Server Errorが発生

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3