はじめに

障害等でノード停止が発生した後、該当ノードを起動するとリカバリが自動実行されます。
この時にクライアントから接続した場合は、クライアントドライバ(※)の設定内容によって、クライアントの動作が異なるので、注意が必要です。今回は、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 本記事を公開