myVertica  

データベースノードが停止した場合の対処方法

データベースノードが停止している場合、次のチェックリストを使用してトラブルシューティングを行います。

ステップ タスク 結果
1 データベースがUPの状態であるかどうか確認します。 $ admintools -t db_status -s UP データベースがUPの状態である場合、Step 2 へ。 データベースがUPの状態でない場合、データベースを再起動します。 $ admintools -t start_db -d <Database_name> -p <Database_password> データベースが起動すれば、このチェックリストは完了です。 データベースが起動しない場合、Database Process Not Starting チェックリストを参照してください。
2 DOWNしている全てのノードを確認します。 => SELECT node_name, node_address, node_state FROM nodes WHERE node_state = 'DOWN'; DOWNしている全てのノードを確認し、Step 3 へ。
3 DOWNしているノードとSSH接続可能かどうか確認します。 $ ssh dbadmin @<nodedown_ip> ノードにSSH接続できる場合、DOWNしているノード上のVerticaプロセスを再起動します。 $ admintools -t restart_node -d <database_name> -s <node_host_name or IP>
  • 無事再起動できたらチェックリストは終了です。
  • 再起動に失敗した場合、Step4 へ。
  • ノードにSSH接続できない場合、ポートの問題またはネットワークの問題であるかどうかをシステム管理者に問い合わせてください。
    4 再起動失敗の原因解析のために、DOWNしたノード上でstarup.logをtailコマンドで確認します。startup.logをtailすると、下記のような内容が確認できます。 $ tail -f catalog-path/database-name/v_database-name_node_catalog/startup.log { "node" : "v_cdmt0_node0001", "stage" : "Database Halted", "text" : Data consistency problems found; Check that all file systems are properly mounted. Also, the --force option can be used to delete corrupted data. "timestamp" : "2016-07-31 18:17:04.122" } ログからDOWNしたノードの最新の状態が確認できます。ノード状態の詳細を確認するために、Step 5 へ。
    5 a. startup.logの出力が、「Waiting for cluster invite」という状態でとまっている場合 Spread Debugging チェックリストを参照してください。
    b. startup.logの出力が、「Recovery stage」という状態でとまっている場合 Node Recovery チェックリストを参照してください。
    c. 「Data inconsistency problems found」というエラーメッセージが表示された場合、forceオプションを使用してノードを再起動します。 $ admintools -t restart_node -d Database_name -s node_name --force 再起動して、チェックリストは完了です。
    d. 前回の再起動後にstartup.logに新しいデータが表示されない場合、dbLogファイルにエラーが出力されていないかチェックしてください。 エラーを解決できない場合、Verticaテクニカルサポートまでお問い合わせください。
    e. 「Shutdown Complete」が表示されたものの、ノードがまだDOWNしている場合、 tail vertica.logを実行し、<ERROR>と<PANIC>を探します。 ErrorReport.txtで出力されるPANICレポートとscrutinizeログを取得し、Verticaテクニカルサポートまでお問い合わせください。

    関連詳細情報

    Vertica Documentation  の Node Down をご参照ください。