はじめに
障害等でノード停止が発生した後、該当ノードを起動するとリカバリが自動実行されます。この時にクライアントから接続した場合は、クライアントドライバ(※)の設定内容によって、クライアントの動作が異なるので、注意が必要です。今回は、ODBCドライバ経由でVerticaに接続した場合を例にあげて、クライアントの動作について、解説いたします。
※VerticaはODBC、JDBC、ADO.NETで接続できます。
クライアントドライバの設定とクライアントの動作
今回はノード1が「UP」、「DOWN」、「RECOVERING」ステータスの時にODBCドライバ経由で接続した時の仕様動作を解説いたします。ロードバランスを利用するためには、ODBCドライバ側とVerticaサーバ側の両方で設定が必要です。
以下の表は、Verticaサーバ側のロードバランス設定は完了している前提の動作を示しています。
ODBCドライバの「Use connection load balancing=無」の場合は、ノード1が「DOWN」の時はSQLが実行できます。しかし、「RECOVERING」に遷移した後はエラーが発生するので、ご注意ください。
[ODBCドライバの設定値]
ODBCドライバ側の設定値を示します。各項目の説明は、以下のとおりです。
項目 | 内容 |
---|---|
Server | メインとなる接続先のホスト名またはIPアドレス |
Backup Servers | サブとなる接続先のホスト名またはIPアドレス(メインサーバの障害対策) |
Use connection load balancing | ロードバランス設定の有無 |
[ノードのステータス]
各ノードの状態を示しています。各項目の説明は、以下のとおりです。
項目 | 内容 |
---|---|
UP | 起動中 |
DOWN | 停止中 |
RECOVERING | リカバリ中 |
参考情報
ロードバランスの概要http://vertica-tech.ashisuto.co.jp/load-balance/
接続時フェイルオーバーの概要
http://vertica-tech.ashisuto.co.jp/failover/
検証バージョンについて
この記事の内容はVertica 9.2で確認しています。更新履歴
2019/05/10 本記事を公開- 投稿タグ
- ドライバ, ロードバランス, 接続時フェイルオーバー, F/O, リカバリ