sstablesは不変で、sstableはオフラインで実行する必要があります。ノードをシャットダウンします。極端な大規模なスナップショットのコピーをオフラインで/副次的なディレクトリに分割することも可能ではないでしょうか?ノードをオンラインにしてからノードの短時間の再起動中に分割されたsstableファイルをスワップした後、ノードのダウンタイム?サイドでsstablesplitを実行します
それとも、クラスタの残りの部分を介してデータを拡散、ノードの使用を停止してから、新しい空のノード
例:として再加入する方が良いだろう。まもなくいつでもコンパクションビューに入らない大きなステルブルを持っています。このようなオフラインの言葉を、別のディレクトリ/ FS /別のボックスに分割したいと思います。ただし、元のsstableパスから冗長性を保守しているノードを実行している間に、それはsstablesplitが設定を見つけたいと思っているだけです。そうでなければ、実行中のノードからスプリット・アウト・リーチを行うようにすることができますか?
それを分割するsstableファイルのコピーにしようとしたが、:
に-offlinebox $ sstablesplit --debug -s SOME-VALUE-IN-MB-mykeyspc mycf - * - データ.db 16:58:13.197 [main]エラーoacconfig.DatabaseDescriptor - 致命的 構成エラー org.apache.cassandra.exceptions.ConfigurationException:URI: が変数:[cassandra.config]に存在することを予期しています。ローカルファイルの場合はfile:/// 、リモートファイルの場合はfile:///の接頭辞を付けてください。中止する。外部ツールから を実行している場合は、コンフィグレーションのロードを避けるために、 Config.setClientMode(true)を設定する必要があります。 org.apache.cassandra.config.YamlConfigurationLoader.loadConfigで :org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:73) 〜[2.1.15のApache-カサンドラ-2.1.15.jar]で (YamlConfigurationLoader.java:84) 〜[apache-cassandra-2.1.15.jar:2.1.15] at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:161) 〜[apache-cassandra (DatabaseDescriptor.java:136) 〜[apache-cassandra-2.1.15.jar:2.1.15] at org .apache.cassandra.tools.StandaloneSplitter.main(StandaloneSplitter.java:56) [apache-cassandra-2.1.15.jar:2.1.15] variaのURIが必要ですble: [cassandra.config]。ローカル ファイルの場合はfile:///の接頭辞を付け、リモートファイルの場合はfile:///を付けます。中止する。外部ツールから を実行する場合は、コンフィグレーションのロードを避けるために、 Config.setClientMode(true)を設定する必要があります。致命的な 構成エラー。始められない。 「stacktraceのログ」を参照してください。
このような大規模なスティスタブルで圧縮を行う理由は、大規模なステーブルに存在するかなりのデータに対して多くのトゥボーンが存在することが予想されるためです。 TSは+ 30日前に作成されたので、デフォルトの10日間でgc_graceを長く延期しています。そのようなTSが過度の数の大きすぎる大きな握り手に対して圧迫されるまでには、長い時間がかかるだけです。私たちのApp Vendorは、毎晩大きなcompacを実行し、私たちが軽いcompacsに頼っているようにvnodeを使用しないと言います。 TSedデータは、分解されたデータまたは「生データ」のみにも拡散されますか?個々のノードの主要なコンパックに似た、分解と再結合の作業は可能でしょうか? –
AFAIKは、再構築と廃止のどちらも圧縮とは関係なく、データをストリームします。私の回答を編集してください。 – nevsv
私は、もしdecomが大きなテーブルからTSシャドーデータをストリーミングしなかったならば、decom + rejoin後の効果はTSedデータを圧縮することと似ていることを意味しました。単一ファイルの圧縮は、同じファイルがTTL期限切れのデータを保持していればディスクスペースを再利用する場合にのみ有効です。App Genereated TSを他のテーブルから削除する必要があります。 http://thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html –