0

Cassandra のバージョンはにアップグレードしようとして1.2.42.0.5ます。1.0.142.0.5

実行しようとすると、次のようnodetool -h localhost removenode Host IDになります。

スレッド「メイン」の例外 java.lang.UnsupportedOperationException: Cannot remove self at org.apache.cassandra.service.StorageService.removeNode(StorageService.java:3199) .....

そのコマンドを実行する前に私は試しましたnodetool upgradesstables

何が問題ですか ?どうすれば解決できますか?


OS:Ubuntu 12.04lts

4

1 に答える 1

2

アップデート

  1. Cassandra のバージョン 1.2.13 および 2.0.5 を公式サイトからダウンロードします。開梱します。Cassandra をダウンロードした両方のバージョンで cassandra.yaml を構成します。既存の (古い) バージョンの cassandra.yaml をベースにします。
  2. 古い Cassandra のスナップショットを作成します: nodetool スナップショット。
  3. ユニットの記録を停止します (読み取りは引き続き機能します): nodetool のドレイン。
  4. 古いカサンドラを停止します。
  5. 現在の (古い) Cassandra から新しいバージョン 1.2.13 にデータをコピーします。実行します (1.2.13)。
  6. Cassandra 1.2.13 update コマンド テーブル形式に対して実行します: nodetool upgradesstables-a。
  7. Cassandra 1.2.13 から Cassandra 2.0.5 にデータをコピーします。  

細かい点

  1. 2.0.5 には、デフォルトで仮想ホスト (vnode) が含まれています (cassandra.yaml に「num_tokens: 256」を記録します)。
  2. 2.0.5 レコードでは、「index_interval: 128」がファイル cassandra.yaml からテーブルのレベル プロパティに取り出されました。
  3. 2.0.5 では、以前のバージョンの cassandra.yaml の一部の設定がありません。
于 2014-04-23T08:35:04.767 に答える