DataSpiderServer が起動しない状態になりました

Avatar
dstn

Question

DataSpiderServer が起動しない状態になりました。
確認するべき箇所を教えてください。

Answer

■事象の発生条件

DataSpiderServer の起動処理は、以下の順序で実行されます。
過去事例では、以下のいずれかの段階で、処理が失敗することにより、
DataSpiderServer が起動できない状態になっていました。

1. DataSpiderServer の稼働に必要なモジュールをロード
 処理に必要な java のモジュールをロードします。

2. 1. でロードしたモジュールを初期化
 ライセンスや設定ファイルを参照してロードしたモジュールを
 初期化して、処理が実行できる状態にします。

3. 指定されたポートを使用してプロセスを開始
 インストール時や、DataSpiderServer の設定で指定した
 ポートを使用して、DataSpiderServer のプロセスを開始します。

■想定される原因

過去事例から確認した、処理が失敗していた場合の原因は以下の通りです。

1. DataSpiderServer の稼働に必要なモジュールをロード
 DataSpiderServer を稼働したままアンインストールを実行した場合、
 アンインストーラは一部のモジュールが削除できないため、削除するべき
 モジュールを記録しておき、次回の OS 再起動時に削除します。
 このため、OSを再起動せずに、新しい環境をインストールしていた場合に、
 一部のモジュールが削除されていた例がありました。

 また、OS のエクスプローラを展開中の操作ミスにより、モジュールを
 他のディレクトリに移動させていた例がありました。

 この場合、ログが出力できる状態になる前に起動処理が停止するため、
 サーバログが出力されません。

 過去事例では、OS のログに、以下のようなエラーが出力されていました。

Exception in thread "main" java.lang.NoClassDefFoundError: com/zerog/lax/LAX

▼確認方法
 事象が発生している環境と同一バージョン、同一のサービスパック、
 同一のパッチを適用して同一のドライバをインストールした環境を作成し、
 事象が発生している環境とモジュールの数や名前が一致していることを
 ご確認ください。

 事象が発生している環境にだけ存在しないモジュールがあった場合、
 そのモジュールが無いためにエラーが発生している可能性があります。

2. 1. でロードしたモジュールを初期化
 ライセンスファイルが配置されていないために、起動が失敗していた例が
 ありました。この場合、サーバログに以下のエラーが出力されます。

com.appresso.ds.common.license.LicenseException: ライセンスファイルが見つかりません。

 また、プロジェクトの設定を保存する設定ファイルを更新中に
 DataSpiderServer を停止したために、内部設定ファイルが破損し、
 起動が失敗していた例がありました。
 この場合、サーバログに以下のエラーが出力されます。

com.appresso.ds.common.fw.xml.XMLException: XMLのパースに失敗しました。

▼確認方法
 ライセンスファイルが以下のディレクトリに配置されていることをご確認ください。
 $DATASPIDER_HOME/server/lic/

 以下の内部設定ファイルを展開し、</projects>でファイルが
 終了していることをご確認ください。
 $DATASPIDER_HOME/server/etc/projects.xml

3. 指定されたポートを使用してプロセスを開始
 既に DataSpiderServer のプロセスが起動している場合や、他の
 アプリケーションがポートを使用していたり、プロセスの停止が正常に
 終了せずにポートを使用したままになっていたために、設定された
 ポートを使用することができず、起動が失敗していた例がありました。
 この場合、サーバログに以下のエラーが出力されます。
 ※ 7700 の部分には指定しているポートの番号が出力されます

LifecycleException:  プロトコルハンドラの初期化に失敗しました: java.net.BindException: Address already in use: JVM_Bind <null>:7700

▼確認方法
 「netstat」コマンドなどで、DataSpiderServer が使用するポートを
 使用しているプロセスがあるかご確認ください。
 ※ 詳細は、ご使用中の OS のコマンドをご確認ください。

■対応方法

「■想定される原因」から、どの状態で停止しているかを確認の上で、
以下の対応のいずれかを実施してください。

1. DataSpiderServer の稼働に必要なモジュールをロード
 以下のいずれかの対応をお願いします。
 なお、作業の前には、他ディレクトリにコピーするなどの方法で、
 事象発生時の環境をバックアップしてください。

・バックアップからの復旧
 バックアップを取得されている場合には、以下のディレクトリを、
 事象発生前の状態に戻してください。

 $DATASPIDER_HOME/server

※リポジトリ DB を使用している場合には、整合性を保つために、
 リポジトリ DB も、モジュール側と同一の日時の状態に戻してください。

※DataSpider Servista の連携処理で作成しているファイルが、
 上記ディレクトリ以下に配置されている場合には、そのファイルも
 元に戻りますのでご注意ください。

・再インストール
 バージョン 2.4 以降をお使いの場合には、各バージョンの
 「アップグレードガイド」をご参照いただき、旧環境のバックアップと
 新環境のインストール、各種設定の移行を実施して、環境を
 再インストールしてください。

 バージョン 2.4 より前をお使いのお客様に関しては、上記手順が
 ご使用いただけません。この場合には、バックアップから復旧して
 いただくようお願いいたします。

2. 1. でロードしたモジュールを初期化
 ライセンスファイルが配置されていない場合には、インストールガイドの
 記載にしたがって所定のディレクトリにライセンスファイルを
 配置してください。

 プロジェクトの設定を保存する内部設定ファイルが不正な状態の場合には、
 バックアップなどから、正常時の内部設定ファイルを戻すか、他の環境に
 インストールした初期状態の内部設定ファイルを配置して、再度起動を
 お試しください。

3. 指定されたポートを使用してプロセスを開始
 ポートを使用しているプロセスを特定し、そのプロセスを終了してください。

■調査のために必要な情報

上記確認により、原因が不明な場合には、以下の情報をとりまとめの上で、
サポートサイトよりお問い合わせをお願いします。

・ログファイル
 事象が発生した時間帯に出力されている、以下のログファイルを
 ご送付ください。
 $DATASPIDER_HOME/server/logs/server.log
 $DATASPIDER_HOME/server/logs/server.log.N (※ Nは半角数字)
 $DATASPIDER_HOME/server/logs/server.error.log
 $DATASPIDER_HOME/server/logs/${実行日付}

・実行ファイルからデバッグモードで起動した場合のログ
 server.log に起動時のログが出力されていない場合は、実行ファイルから
 Ctrl を押しながら DataSpiderServer を起動して、コンソールに出力されて
 いるログを、コピー、ペーストしてご送付ください。
 実行ファイルは、以下のディレクトリにあります。
 $DATASPIDER_HOME/server/bin/DataSpiderServer.exe

・モジュール
 復旧作業前にバックアップを取得されている、以下のディレクトリをご送付ください。
 $DATASPIDER_HOME/server

※圧縮後のファイルサイズが 5 MB を超える場合は、ファイルをアップロード
 するサイトをご用意いたしますので、お問い合わせの際にお申し付けください。

参考情報





[注意事項]
  • このFAQの内容は2017年3月時点のものです。内容は予告なく変更されることがありますので、ご注意ください。
  • 一部にDataSpider Servistaサポートサイトへのリンクを含むことがあります。サポートサイトにアクセスするには、DataSpiderのサポート契約が必要です。


ID:Q217

コメント

記事コメントは受け付けていません。

Powered by Zendesk