特定ノードのVerticaプロセスと関連サービスを起動/停止する方法(コマンド)
はじめに
Verticaクラスタを複数ノードで構築した場合、サーバメンテナンスなどの目的で1ノードずつ起動/停止したいケースがあります。本記事では、ある1ノードのIPアドレスを指定してVerticaプロセスやサービスを起動/停止する方法をご紹介します。
なお、Verticaには下記3つのサービスがあり、それぞれの依存関係を意識して起動/停止を実行します。
・Verticaデータベース
・エージェント (Management Consoleとの疎通に使用)
・Management Console
※本記事では特定ノードの起動/停止方法を紹介しているため、上記の「Verticaデータベース」を「Verticaプロセス」と記載しています。
Verticaプロセスと関連サービスの停止方法(ノード指定)
Management Console、エージェント、Verticaプロセスの順に停止します。
Management Consoleの停止
rootユーザで以下のコマンドを実行します。Management Consoleをインストールしているノードのみ、実行します。
【構文】
# systemctl stop vertica-consoled【実行例】
# systemctl stop vertica-consoled
#
(標準出力には何も表示されません)エージェントの停止
rootユーザで以下のコマンドを実行します。停止したいノードで実行します。
【構文】
# systemctl stop vertica_agent【実行例】
# systemctl stop vertica_agent
#
(標準出力には何も表示されません)Verticaプロセスの停止
dbadminユーザ(OS)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。
【構文】
$ admintools -t stop_node -s <停止するノードのインターコネクト用IPアドレス>【実行例】
$ 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)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。
【構文】
$ admintools -t restart_node -d <データベース名> -s <起動するノードのインターコネクト用IPアドレス>【実行例】
$ 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ユーザで以下のコマンドを実行します。起動したいノードで実行します。
【構文】
# systemctl start vertica_agent【実行例】
# systemctl start vertica_agent
#
(標準出力には何も表示されません)Management Consoleの起動
rootユーザで以下のコマンドを実行します。Management Consoleをインストールしているノードのみ、実行します。
Magement Console 8.0.1-4未満のバージョンでは、Management Consoleの起動時に注意点があります。「LANG=ja_JP.UTF-8」の状態でManagement Consoleを起動すると、ブラウザ表示が行われない場合があります。その場合は、後述の回避策を適用してください。
【構文】
# systemctl start vertica-consoled【実行例】
# systemctl start vertica-consoled
#
(標準出力には何も表示されません)【注意点(Magement Console起動時のLANG環境変数)】
Magement Console 8.0.1-4未満のバージョンで、Management Consoleの画面がブラウザ表示されない場合は、以下の回避策を実施してください。
■回避策1
Management Consoleを起動する前に、rootユーザの環境変数を設定する方法です。
# 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」の前に追加します。この設定実施後に、通常のコマンドで起動を行ってください。
[変更前]
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"[変更後]
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)で以下のコマンドを実行します。クラスタ内のいずれかのノードで実行します。
【構文】
$ admintools -t list_allnodes【起動時の実行例】
$ 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 であることを確認【停止時の実行例】
$ 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ユーザで以下のコマンドを実行します。ステータスを確認したいノードで実行します。
【構文】
# systemctl status vertica_agent【起動時の実行例】
# 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) 」が表示されることを確認します
(以降、省略)【停止時の実行例】
# 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をインストールしているノードのみ、実行します。
【構文】
# systemctl status vertica-consoled【起動時の実行例】
# 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) 」が表示されることを確認します
(以降、省略)【停止時の実行例】
# 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データベースと関連サービスの起動/停止方法(コマンド)
https://www.ashisuto.co.jp/cm/analytics-database/all-start-stop.html
データベースの停止、起動方法(admintools)
https://www.ashisuto.co.jp/cm/analytics-database/stop_start_database_admintools.html
データベースの停止、起動方法(Management Console)
https://www.ashisuto.co.jp/cm/analytics-database/mc_start_stop.html
検証バージョンについて
この記事の内容はVertica 24.4で確認しています。
更新履歴
2024/11/15 「RHEL 6 または CentOS 6 の場合」を削除
「RHEL 9」に対応
OSバージョンに依存しない内容に修正
Vertica24.4用に更新
2019/05/30 本記事を公開