sstablelevelreset
LeveledCompactionStrategy が設定されている場合、このスクリプトを使用して、指定された SSTable のセットのレベルを 0 にリセットできます。これは、たとえば、最小 SSTable サイズを変更し、この新しい設定を使用してコンパクションプロセスを再開する場合に役立ちます。
このコンパクション戦略でレベルがどのように使用されるかについては、cassandra.apache.org/doc/latest/operating/compaction/lcs.html#lcs を参照してください。
予期しない結果が発生するのを避けるため、このツールを実行する前に Cassandra を停止する必要があります。注: スクリプトは Cassandra が停止していることを確認しません。
使用方法
sstablelevelreset --really-reset <キースペース> <テーブル>
このコマンドは影響が大きいため、誤って実行されないように、really-reset フラグが必要です。
テーブルが見つかりません
キースペースまたはテーブルがスキーマにない場合 (たとえば、テーブル名を間違えた場合)、スクリプトはエラーを返します。
例
ColumnFamily not found: keyspace/evenlog.
テーブルは既にレベル 0 です
レベルが既に 0 に設定されている場合、スクリプトはレベルを設定しません。
例
Skipped /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db since it is already on level 0
テーブルレベルが 0 に減少しました
レベルがまだ 0 でない場合、これは 0 にリセットされます。
例
sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level SSTable Level: 1 sstablelevelreset --really-reset keyspace eventlog Changing level from 1 to 0 on /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level SSTable Level: 0