2017-05-17 14 views
5

現在のCassandraのバージョンは2.2.4です。データを失わずに3.0.10にアップグレードしたいと思います。どのように可能ですか?現在のデータを失うことなくCassandraをアップグレードする

私のクラスタは3つのノードで構成され、レプリケーションファクタは2です。このアップデートは自分のクラスタアーキテクチャに影響しますか?

答えて

2

に基づくデータでdba.stackexchangeについて同様の質問に回答しました。はい。既存のデータを失うことなくクラスタをアップグレードできます。また、2.2から3への直接的なアップグレードパスがあります。アイデアは、ローリングアップグレードアプローチを使用することです。基本的には、次の手順でアップグレードする必要があります。

  1. ノードを停止します。 設定ファイルをバックアップします。製品のインストール方法によっては、インストール中にこれらのファイルがデフォルト値で上書きされることがあります。
  2. 新しいバージョンのCassandraのバイナリをインストールします(tarball、apt-get、yumなどを介して)。
  3. 新しい製品を設定します。構成ファイルのバックアップを使用して、以前に行ったすべての変更を新しいバージョンの新しい構成ファイルにマージします。構成オプションは頻繁に変更されるため、追加の手順や構成に関する変更については、バージョンの制限を再度確認してください。これは、2.2以降の既存の設定ファイルを使用できないため、Cassandra 3にアップグレードする場合に必要です。
  4. ノードを起動します。
  5. は、各ノードでsstablesをアップグレード
  6. $ nodetool upgradesstables

は警告、エラーおよび例外のログを確認してください。クラスタ内の各ノードで繰り返します。 upgradesstablesステップは、事後に各ノードで実行できます。 Cassandraは1つ下のバージョンのストレージを読み取ることができますが、新しいCassandra 3ストレージエンジンの利点をすべて得るには、すべてのノードでその手順を完了する必要があります。 20170518

編集をインストールすると、インストールする方法を、ステップ2を説明していただけますか?

初期インストールの仕方によって異なりますが、使用するOSやパッケージマネージャ(使用している場合)によっても異なります。

  • DebianベースのLinux(Debianのは、Ubuntu、Knoppixの)

    sudo dpkg -S cassandraそれがインストールされている場所を教えてくれなければなりません。

  • のRed HatベースのLinux(CentOSの、Fedoraの、RHEL)

    sudo rpm -q cassandraそれがインストールされている場所を教えてくれなければなりません。

これらのいずれも動作しない場合は、ノードがおそらくtarballインストールプロセスで構築されている可能性があります。そして真剣に、それは誰でもと同じように、バイナリがインストールされています。一般的な場所は/etc/cassandra,/opt/cassandra/および/usr/local/cassandraです。

あなたがそれを把握したら、あなたはapt-getを使用して、パッケージマネージャ(Debianの)でアップグレードを呼び出すことができる必要があります:yumについては

sudo apt-get update sudo apt-get install casandra

(Red Hatの)今私はあなたを考えますまだ彼らは非常にそれを持っていないとして、まだ正しいレポで、RPMをダウンロードする必要があります。

sudo rpm cassandra-3.10-noarch.rpm

そして、あなたがインストールしたtarballで実行している場合、私がやりたいことは、新しいバイナリをダウンロードしてuntaring前に、ディレクトリの名前を変更です:

sudo mv /etc/cassandra /etc/cassandra_20170510 
sudo mv ~/Downloads/apache-cassandra-3.10.tar.gz /etc/ 
cd /etc 
sudo tar -zxvf apache-cassandra-3.10.tar.gz 
sudo mv /etc/apache-cassandra-3.10 /etc/cassandra 

と一致させるために新しいディレクトリの所有権を変更することを忘れないでください以前のインストール。

このプロセス(および各方法)の詳細については、Apache Cassandra Download pageを参照してください。

+0

手順2を説明してください。インストール先とインストール方法を教えてください。 –

+0

@Ajmalsha編集製作。 – Aaron

5

実行して、既存のカサンドラサービスをシャットダウンする前に、ドレインnodetoolアップグレードカサンドラバージョン
の手順1.。
nodetool drain -h hostname
2. cassandraサービスを停止します。
service cassandra stop
3.カッサンドラ設定ファイルを古いインストールから安全な場所にバックアップします。
4. javaバージョンを更新します。
更新apt-getを
apt-getの神託-java8・セットのデフォルト
のjava -version
5は、Apacheカサンドラの新しいバージョンをインストールしてインストールします。
apt-get update
apt-get install cassandra = 3.7.0
ソースからCassandraを実行している場合は、パッケージマネージャを使用する代わりに最新のtar.gzをダウンロードする必要があります。
6.新しい製品を設定します。以前に新しいバージョン(casandra.yml、cassandra-env.shなど)の新しい設定ファイルに行った変更を確認、比較、マージ、更新します。
7. cassandraサービスを開始します。
service cassandra start
ログで警告、エラー、および例外をチェックします。
tail -f /ttio/var/logs/cassandra/system.log#またはログを設定するパス。
8. nodetool upgradesstablesを実行します。
nodetool upgradesstables
9.ログで警告、エラー、および例外をチェックします。
tail -f /ttio/var/logs/cassandra/system.log#またはログを設定するパス。
10.クラスタのステータスを確認します。
nodetool -hホスト名ステータス
11.クラスタ内の各ノードでこれらのアップグレード手順を繰り返します。

詳細については、リンクをご覧ください。upgrade Cassandra to the latest version

関連する問題