目次
はじめに
Verticaクラスタを複数ノードで構築した場合、サーバメンテナンスなどの目的で1ノードずつ起動/停止したいケースがあります。本記事では、ある1ノードのIPアドレスを指定してVerticaプロセスやサービスを起動/停止する方法をご紹介します。なお、Verticaには下記3つのサービスがあり、それぞれの依存関係を意識して起動/停止を実行します。
・Verticaデータベース
・エージェント (Management Consoleとの疎通に使用)
・Management Console
・エージェント (Management Consoleとの疎通に使用)
・Management Console
※本記事では特定ノードの起動/停止方法を紹介しているため、上記の「Verticaデータベース」を「Verticaプロセス」と記載しています。
Verticaプロセスと関連サービスの停止方法(ノード指定)
Management Console、エージェント、Verticaプロセスの順に停止します。Management Consoleの停止
rootユーザで以下のコマンドを実行します。Management Consoleをインストールしているノードのみ、実行します。【構文】
1 |
# systemctl stop vertica-consoled |
【実行例】
1 2 3 |
# systemctl stop vertica-consoled # (標準出力には何も表示されません) |
エージェントの停止
rootユーザで以下のコマンドを実行します。停止したいノードで実行します。【構文】
1 |
# systemctl stop vertica_agent |
【実行例】
1 2 3 |
# systemctl stop vertica_agent # (標準出力には何も表示されません) |
Verticaプロセスの停止
dbadminユーザ(OS)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。【構文】
1 |
$ admintools -t stop_node -s <停止するノードのインターコネクト用IPアドレス> |
【実行例】
1 2 3 4 5 6 7 8 9 10 |
$ admintools -t stop_node -s XX.XX.XX.XX Sending signal 'TERM' to ['XX.XX.XX.XX'] Successfully sent signal 'TERM' to hosts ['XX.XX.XX.XX']. Details: Host: XX.XX.XX.XX - Success - PID: 2896569 Signal TERM Checking for processes to be down All processes are down. Details: Host XX.XX.XX.XX Success process 2896569 is down ★左記のような出力が出ることを確認します |
Verticaプロセスと関連サービスの起動方法(ノード指定)
Verticaプロセス、エージェント、Management Consoleの順に起動します。Verticaプロセスの起動
dbadminユーザ(OS)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。【構文】
1 |
$ admintools -t restart_node -d <データベース名> -s <起動するノードのインターコネクト用IPアドレス> |
【実行例】
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ admintools -t restart_node -d testdb -s XX.XX.XX.XX Info: no password specified, using none *** Restarting nodes for database testdb *** Restarting host [XX.XX.XX.XX] with catalog [v_testdb_node0001_catalog] Issuing multi-node restart Starting nodes: v_testdb_node0001 (XX.XX.XX.XX) Starting Vertica on all nodes. Please wait, databases with a large catalog may take a while to initialize. Node Status: v_testdb_node0001: (DOWN) Node Status: v_testdb_node0001: (DOWN) Node Status: v_testdb_node0001: (DOWN) Node Status: v_testdb_node0001: (RECOVERING) Node Status: v_testdb_node0001: (UP) ★「UP」が表示されることを確認します |
エージェントの起動
rootユーザで以下のコマンドを実行します。起動したいノードで実行します。【構文】
1 |
# systemctl start vertica_agent |
【実行例】
1 2 3 |
# systemctl start vertica_agent # (標準出力には何も表示されません) |
Management Consoleの起動
rootユーザで以下のコマンドを実行します。Management Consoleをインストールしているノードのみ、実行します。Magement Console 8.0.1-4未満のバージョンでは、Management Consoleの起動時に注意点があります。「LANG=ja_JP.UTF-8」の状態でManagement Consoleを起動すると、ブラウザ表示が行われない場合があります。その場合は、後述の回避策を適用してください。
【構文】
1 |
# systemctl start vertica-consoled |
【実行例】
1 2 3 |
# systemctl start vertica-consoled # (標準出力には何も表示されません) |
【注意点(Magement Console起動時のLANG環境変数)】
Magement Console 8.0.1-4未満のバージョンで、Management Consoleの画面がブラウザ表示されない場合は、以下の回避策を実施してください。
■回避策1
Management Consoleを起動する前に、rootユーザの環境変数を設定する方法です。
1 2 |
# export LANG=en_US.UTF-8 # /etc/init.d/vertica-consoled start |
■回避策2
/opt/vconsole/bin/mctlファイルを編集します。START_CMDが定義されている行にて、「-Duser.language=en」を「-jar $VCONSOLE_HOME/lib/webui.war」の前に追加します。この設定実施後に、通常のコマンドで起動を行ってください。
[変更前]
1 |
START_CMD="$JAVA_HOME/bin/java $JVM_OPTS -Dvertica.home=$VERTICA_HOME -Dvconsole.home=$VCONSOLE_HOME -Djava.library.path=$VCONSOLE_HOME/lib -Dderby.system.home=$VCONSOLE_HOME/mcdb/derby -Xmx2048m -Xms1024m -XX:MaxPermSize=256m -jar $VCONSOLE_HOME/lib/webui.war" |
[変更後]
1 |
START_CMD="$JAVA_HOME/bin/java $JVM_OPTS -Dvertica.home=$VERTICA_HOME -Dvconsole.home=$VCONSOLE_HOME -Djava.library.path=$VCONSOLE_HOME/lib -Dderby.system.home=$VCONSOLE_HOME/mcdb/derby -Xmx2048m -Xms1024m -XX:MaxPermSize=256m -Duser.language=en -jar $VCONSOLE_HOME/lib/webui.war" |
ステータス確認方法
Verticaデータベースのステータス確認
dbadminユーザ(OS)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。【構文】
1 |
$ admintools -t list_allnodes |
【起動時の実行例】
1 2 3 4 5 6 7 8 |
$ admintools -t list_allnodes Node | Host | State | Version | DB -------------------+--------------+-------+------------------+-------- v_testdb_node0001 | XX.XX.XX.XX | UP ★| vertica-24.4.0.0 | testdb v_testdb_node0002 | XX.XX.XX.XX | UP | vertica-24.4.0.0 | testdb v_testdb_node0003 | XX.XX.XX.XX | UP | vertica-24.4.0.0 | testdb ★起動の指定をしたノードのStateが UP であることを確認 |
【停止時の実行例】
1 2 3 4 5 6 7 8 |
$ admintools -t list_allnodes Node | Host | State | Version | DB -------------------+--------------+-------+------------------+-------- v_testdb_node0001 | XX.XX.XX.XX | DOWN★| vertica-24.4.0.0 | testdb v_testdb_node0002 | XX.XX.XX.XX | UP | vertica-24.4.0.0 | testdb v_testdb_node0003 | XX.XX.XX.XX | UP | vertica-24.4.0.0 | testdb ★起動の指定をしたノードのStateが DOWN であることを確認 |
エージェントのステータス確認
rootユーザで以下のコマンドを実行します。ステータスを確認したいノードで実行します。【構文】
1 |
# systemctl status vertica_agent |
【起動時の実行例】
1 2 3 4 5 6 7 8 |
# systemctl status vertica_agent ● vertica_agent.service - Vertica management agent Loaded: loaded (/etc/systemd/system/vertica_agent.service; enabled; vendor preset: disa> Active: active (running) ★ since Wed 2024-11-13 11:41:51 JST; 44s ago ★「Active: active (running) 」が表示されることを確認します (以降、省略) |
【停止時の実行例】
1 2 3 4 5 6 7 8 |
# systemctl status vertica_agent ● vertica-consoled.service - Vertica Management Console Loaded: loaded (/etc/systemd/system/vertica-consoled.service; enabled; vendor preset: d> Active: inactive (dead) ★ since Wed 2024-11-13 11:32:27 JST; 6s ago ★「Active: inactive(dead)」が表示されることを確認します (以降、省略) |
Management Consoleのステータス確認
rootユーザで以下のコマンドを実行します。Management Consoleをインストールしているノードのみ、実行します。【構文】
1 |
# systemctl status vertica-consoled |
【起動時の実行例】
1 2 3 4 5 6 7 8 |
# systemctl status vertica-consoled ● vertica-consoled.service - Vertica Management Console Loaded: loaded (/etc/systemd/system/vertica-consoled.service; enabled; vendor preset: d> Active: active (running) ★ since Wed 2024-11-13 11:42:10 JST; 39s ago ★「Active: active (running) 」が表示されることを確認します (以降、省略) |
【停止時の実行例】
1 2 3 4 5 6 7 8 |
# systemctl status vertica-consoled ● vertica-consoled.service - Vertica Management Console Loaded: loaded (/etc/systemd/system/vertica-consoled.service; enabled; vendor preset: d> Active: inactive (dead) ★ since Wed 2024-11-13 11:32:27 JST; 6s ago ★「Active: inactive(dead)」が表示されることを確認します (以降、省略) |
参考情報
- Verticaデータベースと関連サービスの起動/停止方法(コマンド)
- データベースの停止、起動方法(admintools)
- データベースの停止、起動方法(Management Console)
検証バージョンについて
この記事の内容はVertica 24.4で確認しています。更新履歴
2024/11/15 「RHEL 6 または CentOS 6 の場合」を削除「RHEL 9」に対応
OSバージョンに依存しない内容に修正
Vertica24.4用に更新
2019/05/30 本記事を公開