目次
はじめに
本稿では、Verticaの接続時フェイルオーバーの設定方法を詳しく解説します。接続時フェイルオーバーの概要については、こちら参照してください。データベース側の設定
データベース側での設定は不要です。クライアント側の設定(ODBC)
設定は以下のステップで、おこないます。1. Vertica Clientをインストール
2. WindowsのODBC データソース アドミニストレーターで接続定義を作成
2. WindowsのODBC データソース アドミニストレーターで接続定義を作成
1.Vertica Clientをインストール
Verticaクライアントのセットアップ(Windows版)の手順に従って、Vertica Clientをインストールします。2.WindowsのODBC データソース アドミニストレーターで接続定義を作成
Windowsの管理ツールから[データ ソース (ODBC)]を起動し、ユーザーDSNまたはシステムDSNでデータソースを追加します。この際、[Vertica]ドライバーを選択します。その後、表示される VeritcaODBC DSN ConfigurationダイアログのBasic Settingsタブで接続設定を
行います。
【インストール時のインストール先とコンポーネント選択画面】
項目 | 内容 |
---|---|
DSN Name | 任意のデータソース名称 |
Database | Verticaデータベース名 |
Server | メインとなる接続先のホスト名またはIPアドレス |
Backup Servers | サブとなる接続先のホスト名またはIPアドレス (メインサーバの障害対策) |
Port | Verticaデータベースのポート番号 |
Use Connection load balancing | ロードバランス設定の有無 |
User Name | 接続データベース・ユーザ名 |
Password | 接続データベース・ユーザ名のパスワード |
※上記以外のパラメータ項目については、マニュアルをご参照ください。
上記設定の内、Backup serversにバックアップの接続先を記載します。例えば3ノード構成で、ノード1のIPアドレスをServerに記載している場合は、Backup serversにはノード2、ノード3のIPアドレスを記載します。
【データソースの設定画面】
クライアント側の設定(JDBC)
設定は以下のステップで、おこないます。1. Vertica JDBCドライバの配置と環境設定
2. JDBC接続プロパティの設定
2. JDBC接続プロパティの設定
1.Vertica JDBCドライバの配置と環境設定
Vertica JDBCドライバをMyVerticaからダウンロードします。【MyVerticaでの操作内容】
1) [Product]メニューを選択
2) [Downloads]メニューを選択
3) [Client Drivers]メニューを選択
4) [All Operating Systems]内にある、Verticaバージョンのリンクを選択
※選択後、JDBCドライバ(vertica-jdbc-n.n.n-n.jar)のダウンロードが始まります。
2) [Downloads]メニューを選択
3) [Client Drivers]メニューを選択
4) [All Operating Systems]内にある、Verticaバージョンのリンクを選択
※選択後、JDBCドライバ(vertica-jdbc-n.n.n-n.jar)のダウンロードが始まります。
ダウンロード後、環境に合わせてJDBCドライバを配置し、環境設定を行います。
(環境変数 CLASSPATH の設定等)
2.JDBC接続プロパティの設定
JDBCのオプションで以下のパラメータを設定します。項目 | 内容 |
---|---|
BackupServerNode | サブとなる接続先のホスト名またはIPアドレス (メインサーバの障害対策) |
※上記以外のプロパティ項目については、マニュアルをご参照ください。
【JDBC接続URLに記述する場合の例】
1 2 3 |
/* 設定箇所:BackupServerNode="172.16.21.12,172.16.21.13" */ jdbc:vertica://172.16.21.11:5433/vdb?ConnectionLoadBalance=1&|BackupServerNode="172.16.21.12,172.16.21.13" |
【Javaプログラム内に記述する場合の例】
1 2 3 4 5 6 7 8 |
/* 設定箇所:"BackupServerNode", "172.16.21.12,172.16.21.13" */ Properties myProp = new Properties(); myProp.put("ConnectionLoadBalance", 1); myProp.put("BackupServerNode", "172.16.21.12,172.16.21.13"); Connection conn; conn = DriverManager.getConnection("jdbc:vertica://172.16.21.11:5433/vdb", myProp); |
動作確認
クライアント側の接続時フェイルオーバーの設定が完了した後で、動作確認をおこないます。以下は、ODBCの例を示しています。
1.サーバのシャットダウン
データソースの[Server]に設定している、サーバをシャットダウンします。
1 2 3 4 5 6 7 8 9 |
[dbadmin@v92-node2 ~]$ admintools -t stop_node -s v_vdb_node0001 *** Forcing host shutdown *** Sending host shutdown command to '10.0.0.126' [dbadmin@v92-node2 ~]$ admintools -t list_allnodes Node | Host | State | Version | DB ----------------+------------+-------+-----------------+----------- v_vdb_node0001 | 10.0.0.126 | DOWN | vertica-9.2.1.3 | vdb /* ★1号機がシャットダウンした状態 */ v_vdb_node0002 | 10.0.0.127 | UP | vertica-9.2.1.3 | vdb v_vdb_node0003 | 10.0.0.128 | UP | vertica-9.2.1.3 | vdb |
2.ODBC接続テスト①
ODBCから、接続テストをおこないます。作成したデータソースの[Test connection]をクリックします。正常に接続できることを確認します。
3.ODBC接続テスト②
※データソースの[Backup servers]が誤っている場合は、エラーが発生するので、設定を見直してください。以下は、[Backup servers]が未設定の場合の動作です。ODBCから、接続テストをおこないます。作成したデータソースの[Test connection]をクリックします。
接続時フェイルオーバーができないため、エラーが発生します。
参考情報
接続時フェイルオーバーの概要http://vertica-tech.ashisuto.co.jp/failover/
ODBC Connection Failover
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/ConnectingToVertica/ClientODBC/ODBCConnectionFailover.htm
JDBC Connection Failover
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/ConnectingToVertica/ClientJDBC/JDBCConnectionFailover.htm
ADO.NET Connection Failover
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/ConnectingToVertica/ClientADO/ADONETConnectionFailover.htm
ロードバランスおよび接続時フェイルオーバー機能を使用したvsqlからの接続
http://vertica-tech.ashisuto.co.jp/vsql_lb_cf/