InfluxDBサービスがout of memory (OOM)エラーで終了し、リスタートしても解決しない場合、シリーズファイルが肥大化している可能性があります。以下の操作を行って、シリーズファイルをコンパクト化してください。
-
安全のため、InfluxDBデータのバックアップを作成します。バックアップディレクトリは任意のディレクトリで問題ありません。
$ mkdir /tmp/influxdb_backup $ influxd backup -portable influxdb_backup/ : :
-
シリーズファイルをコンパクト化するため、以下コマンドを実行します。
-datadir
と-waldir
には実際のデータディレクトリとWALディレクトリのパスを指定してください。# systemctl stop influxdb # influx_inspect buildtsi -compact-series-file -datadir /data -waldir /data # systemctl start influxdb
上記を実行してもOOM エラーを繰り返す場合は、インスタンスタイプを変更してサーバーのRAMを一時的に増やし、InfluxDBを起動してください。起動後に動作が安定したらRAMのサイズは元に戻して構いません。
また、InfluxDBのログに、msg="Error compacting TSM files"
、error="rate: Wait(n=...) exceeds limiter's burst ..."
のようなメッセージが出力されている場合は、RAMを増やすだけでなく設定ファイル内の設定値 compact-throughput-burstcompact-throughput-burst
を一時的に増やしてInfluxDBを起動してください。起動後に動作が安定したらcompact-throughput-burst
の値は元に戻して構いません。