OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

接続時フェイルオーバーの設定方法

公開日:
更新日:
基本操作
#接続時フェイルオーバー

はじめに

本稿では、Verticaの接続時フェイルオーバーの設定方法を詳しく解説します。接続時フェイルオーバーの概要については、こちら参照してください。

データベース側の設定

データベース側での設定は不要です。

クライアント側の設定(ODBC)

設定は以下のステップで、おこないます。

1. Vertica Clientをインストール
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接続プロパティの設定

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)のダウンロードが始まります。

ダウンロード後、環境に合わせてJDBCドライバを配置し、環境設定を行います。
(環境変数 CLASSPATH の設定等)

2.JDBC接続プロパティの設定

JDBCのオプションで以下のパラメータを設定します。

項目

内容

BackupServerNode

サブとなる接続先のホスト名またはIPアドレス
(メインサーバの障害対策)

※上記以外のプロパティ項目については、マニュアルをご参照ください。

【JDBC接続URLに記述する場合の例】

/* 設定箇所: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プログラム内に記述する場合の例】

/* 設定箇所:"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]に設定している、サーバをシャットダウンします。

[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]をクリックします。

接続時フェイルオーバーができないため、エラーが発生します。

参考情報

接続時フェイルオーバーの概要
https://www.ashisuto.co.jp/cm/analytics-database/failover.html

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からの接続
https://www.ashisuto.co.jp/cm/analytics-database/vsql_lb_cf.html

検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2019/08/23 本記事を公開