ClickHouse アップグレードの概要
- 一般的なガイドライン
- 推奨される手順
- システム上のバイナリをアップグレードする際の詳細
一般的なガイドライン
ClickHouse server は ClickHouse Keeper または ZooKeeper とは別にアップグレードする
マイナーバージョンのアップグレードはこまめに行うべきです
対象バージョンで稼働する別の ClickHouse server で実験的機能をテストする
ダウングレード
1 つのクラスター内に複数の ClickHouse server バージョンがある場合
- クラスターが動作しない可能性がある
- 一部、あるいはすべての queries が予期しない error で失敗する可能性がある
- 予期しない error や警告が logs に表示される可能性がある
- ダウングレードできなくなる可能性がある
段階的なアップグレード
- ダウンタイムを伴うアップグレードを行う (すべてのサーバーを停止し、すべてのサーバーをアップグレードした後、すべてのサーバーを起動する) 。
- または、中間バージョンを経由してアップグレードする (現在のバージョンより1年未満だけ新しいバージョン) 。
推奨プラン
- 設定変更をデフォルトの
/etc/clickhouse-server/config.xmlファイルには入れず、代わりに/etc/clickhouse-server/config.d/に配置してください。/etc/clickhouse-server/config.xmlはアップグレード時に上書きされる可能性があるためです。 - 互換性のない変更がないか、changelog を確認してください (対象リリースから現在使用中のリリースまでさかのぼって確認します) 。
- 互換性のない変更として挙がっている項目のうち、アップグレード前に対応できるものは事前に対応し、アップグレード後に必要な変更は一覧にまとめてください。
- 各分片について、同じ分片内の他のレプリカをアップグレードしている間も稼働させておくレプリカを 1 つ以上特定してください。
- アップグレード対象のレプリカでは、1 台ずつ次を実施します:
- ClickHouse server を停止する
- server を対象バージョンにアップグレードする
- ClickHouse server を起動する
- システムが安定したことを示す Keeper メッセージが出るまで待機する
- 次のレプリカに進む
- Keeper log と ClickHouse log にエラーがないか確認します
- 手順 4 で特定したレプリカを新しいバージョンにアップグレードします
- 手順 1 〜 3 で作成した変更一覧を参照し、アップグレード後に必要な変更を行います。
このエラーメッセージは、レプリケート環境で複数のバージョンの ClickHouse が稼働している場合には想定内です。すべてのレプリカが同じバージョンにアップグレードされると、表示されなくなります。
ClickHouse server バイナリのアップグレード手順
deb パッケージからインストールした場合は、サーバー上で次のコマンドを実行します。
deb パッケージ以外の方法で ClickHouse をインストールした場合は、適切な更新方法を使用してください。
1 つの分片のすべてのレプリカが同時にオフラインになるタイミングが発生しない限り、複数のサーバーを同時に更新できます。
xx.yy.a.b は現在の安定版バージョンです。最新の安定版バージョンはこちらで確認できます。