myVertica  

ノードがSpreadに接続できなくなった場合の対処方法

ノードがSpreadに接続されていない場合、次のチェックリストを使用してトラブルシューティングを行います。

ステップ タスク 結果
1 カタログフォルダ内のspread.confファイルが、クラスター内のすべてのノードで同一であるかどうかを確認します。 $ cat spread.conf spread.confファイルがすべてのノードで同一の場合、 Step 2 へ。

すべてのノードでspread.confファイルが同一でない場合、次の手順を実施します。
  • 正しいspread.confファイルを確認します。ファイルには、すべてのクラスターノードのIPアドレスが含まれているはずです。
  • 正しいspread.confファイルをscpを使用してすべてのノードにコピーします。
  • 2 spreadのポート(デフォルトは4803)が次のいずれかを使用してリスニングしているかどうかを確認します。 $ netstat -ap | grep 4803 もしくは $ telnet <spread IP address> 4803 クラスター内の各ノードには、それぞれのspreadのポートがあります。クラスター内のspreadによって使用されるポートを確認するには、次の手順を実行します。
  • /database_catalog_directory/spread.conf 内で確認する。
  • 「Spread_Segment 192.168.40.255:4803」のようなSpread_Segmentの行のIPの後の内容(この場合、4803)を確認する。
  • spreadがリスニングしていない場合、Step 3 へ。
    spreadがリスニングしている場合、Step 4 へ。
    3 ファイアウォールが有効になっていないことを確認します。 # iptables –L ファイアウォールが有効になっている場合、ファイアウォールを無効にするか、ネットワーク管理者にポートを開くように依頼してください。
    4 /etc/hosts ファイルにクラスターのすべてのIPアドレスが含まれているかどうかを確認します。 ファイルがクラスターのすべてのIPアドレスを含んでいて正しい内容の場合、Step 5 へ。
    ファイルが正しくない場合、クラスター内のすべてのノードを含めるように/etc/hostsファイルを修正し、Step 5 へ。
    5 UDP受信パケットにエラーが含まれていないかどうかを確認します。 $ netstat -s UDP受信パケットにエラーが含まれる場合、該当システムのシステム管理者に相談して問題を解決してください。
    UDP受信パケットにエラーが含まれていない場合、Step 6 へ。
    6 spuserを使用して、spreadのグループが形成されているかどうかを確認します。
    a. クラスター内のすべてのノード上で次のコマンドを実行します。 $ /opt/vertica/spread/bin/spuser -s 4803@host_IP
    b. 次のコマンドを実行します。 User> j test-spread
    c. 前の手順で見つかったメンバーの数がノードの数と一致することを確認します。
    ノードの数が一致する場合、spreadは接続されているはずであり、チェックリストは完了です。 ノードの数が一致しない場合、このチェックリストを再度たどって、別のパスを探します。

    メンバーの数が継続してノードの数と一致しない場合、Verticaテクニカルサポートまでお問い合わせください。

    関連詳細情報

    Vertica Documentationの Spread や、Vertica Knowledge Baseの Spread Debugging で詳細情報が確認できます。