再起動したノードのクエリー・タイムアウトの解決
大きい検索インデックスを含むノードを再起動した場合にクエリー・タイムアウトを修正するための手順。
大きいインデックス(数百メガバイト程度)を含むノードを再起動すると、トークン範囲フィルターのクエリーのビルドに時間がかかるため、最初のクエリーがタイムアウトになる場合があります。
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
手順
タイムアウトを回避するには:
- レプリケーション係数1で実行し、レプリカを常に使用可能にします。
- 最初のクエリーが応答に必要とする時間よりも長くなるように、 dse.yaml の設定(enable_health_based_routingとuptime_ramp_up_period_seconds)を構成します。通常は1時間で十分です。
-
ノードを再起動した後に、すべて一致するクエリーをいくつか発行します。たとえば、
q=*:*
を発行してフィルターをウォームアップします。 - オプション:
Javaドライバーを使用している場合は、ホワイトリストに含まれている、ウォームアップするノードのみで非定型のセッションを作成します。
多くのクエリーを発行すると、すべてのトークン範囲が使用される可能性が高くなります。