すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:エラーコード: HSF-0001

最終更新日:Mar 12, 2026

エラーメッセージ

HSFServiceAddressNotFoundException: The address of the service to be called is not found.
The service to be called is xxxx, which is in the xxxx group.

High-speed Service Framework (HSF) は、呼び出されるサービスのアドレスが見つからない場合にこの例外をスローします。

考えられる原因

原因環境
サービスプロバイダーが公開されていない、または設定の不一致両方
ネットワークまたはファイアウォールがプロバイダーの IP とポートをブロックしている両方
複数の NIC が間違った IP アドレスにバインドされている両方
ConfigServer がアドレスをプッシュする前にサービス呼び出しが開始された両方
サービスグループが作成されていない (HSF バージョンが edas.hsf.2114.1.0 より古い場合)本番環境
アドレスサーバーの設定ミス、または到達不能両方

クイックチェック

環境に関係なく、まずこれらのチェックを実行してください。

1. サービスが公開されていることの確認

関連する環境 (デイリー、ステージング、または本番) の マイクロサービスガバナンス コンソールを開き、ターゲットサービスを検索します。

2. インターフェイス、バージョン、グループの一致の確認

プロバイダーとコンシューマー両方の XML 構成ファイルで、interfaceversion、および group の値を比較します。これらの値では大文字と小文字が区別され、先頭または末尾にスペースを含めることはできません。

3. プロバイダーへのネットワーク接続のテスト

Telnet を使用して、プロバイダーのIP および HSF ポート(デフォルト: 12200)への接続をテストします。

telnet <provider-ip> 12200
  • 接続に失敗した場合、ファイアウォールルールまたはネットワークの問題がアクセスをブロックしています。「プロバイダーの IP とポートに接続できない」をご参照ください。

  • 接続に成功した場合は、次のチェックに進みます。

4. 複数の NIC の確認

プロバイダーホストに複数のネットワークインターフェースコントローラー (NIC) がある場合、HSF が間違った IP アドレスにバインドされる可能性があります。

  • オンプレミスの開発環境では、JVM 起動パラメーターで正しい IP を指定します:

    -Dhsf.server.ip=<provider-ip>
  • 本番環境では、関連する開発者に連絡してトラブルシューティングを依頼してください。

5. 早すぎるサービス呼び出しの確認

コンシューマーが、ConfigServer がプロバイダーのアドレスをプッシュする前にサービスを呼び出すと、呼び出しが失敗します。アドレス解決により多くの時間を確保するには、コンシューマーの構成に maxWaitTimeForCsAddress を追加します。詳細については、「サービスコンシューマーを開発する」をご参照ください。

症状別のトラブルシューティング

サービスレジストリでサービスが見つからない

サービスプロバイダーがサービスレジストリへの登録に失敗しました。ご利用の環境に合った手順に従ってください。

開発環境 (軽量設定センター)

  1. アドレスサーバーのIPを確認します。 ping jmenv.tbsite.net を実行し、返されたIPが軽量構成センターのIPと一致することを確認します。IPが一致しない場合は、正しいアドレスを指定します:

    -Daddress.server.ip=<config-center-ip>
  2. キャッシュデータをクリアします。以下のディレクトリの内容を削除します:

    • /{userhome}/logs/

    • /{userhome}/configclient/

  3. サービスプロバイダーを再起動します。Tomcat がすでに実行中の場合は、再起動してください。

  4. Tomcat の起動ログを確認します。

    • ログに例外が表示されない場合、起動は正常に完了しています。ログには起動時間がミリ秒単位で表示されます。

    • ログに例外が含まれている場合は、先に進む前にそれを解決してください。

  5. レジストリ接続を検証します。/{userhome}/configclient/logs/configclient.log または /{userhome}/logs/configclient/configclient.log (パスはバージョンによって異なります) を開きます。このログパターンを探し、IP が軽量設定センターと一致することを確認します。IP が異なる場合は、-Daddress.server.ip=<config-center-ip> で正しい IP を指定します。

    Connecting to remoting://<IP address>
  6. サービス登録を確認します。ログで [Register-ok][Publish-ok] を検索します。このパターンが表示された場合は、サービス名、バージョン、およびグループが正しいことを確認してください。

説明

同じインスタンス上で複数のサービスプロバイダー (A、B、C など) が実行されている場合、各プロバイダーは 12200 から始まる連続した HSF ポートを使用します。軽量設定センターコンソールのポートが実際のポートと一致することを確認してください。特定の IP とポートを設定するには、以下を使用します:

-Dhsf.server.ip=<ip> -Dhsf.server.port=<port>

ポートが一致しない場合は、コンソールで更新するか、サービスを削除してアプリケーションを再公開してください。

本番環境 (EDAS 管理)

  1. アドレスサーバーのドメインを確認します。以下のコマンドを実行してアドレスサーバーのドメインを検索します: -Daddress.server.domain=<address-server-domain> を探して、次に DNS 解決を確認します:PING が失敗した場合、ネットワークの問題により DNS 解決が妨げられています。

    cat /home/admin/<taobao-tomcat-directory>/bin/setenv.sh
    ping <address-server-domain>
  2. キャッシュデータをクリアします。以下のディレクトリの内容を削除します:

    • /home/admin/logs/

    • /home/admin/configclient/

    • /home/admin/<taobao-tomcat-directory>/logs/

  3. サービスプロバイダーを再起動します。Tomcat がすでに実行中の場合は、再起動してください。

  4. 起動エラーを確認します。

    • /home/admin/<taobao-tomcat-directory>/logs/catalina.out で例外を確認します。

    • /home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.log で例外を確認します。

  5. サービス登録を確認します。/home/admin/configclient/logs/configclient.log または /home/admin/logs/configclient/configclient.log (パスはバージョンによって異なります)を開きます。

    • [Register-ok][Publish-ok] が表示された場合は、サービス名、バージョン、およびグループを確認してください。

    • [Publish or unregister error] が表示された場合は、HSF バージョンとサービスグループの構成を確認してください。

  6. HSF バージョンとサービスグループを確認します。edas.hsf.xxxx のバージョンを catalina.out で検索します:

    • edas.hsf.2114.1.0 より前のバージョンの場合: 必要なサービスグループを手動で作成します。Enterprise Distributed Application Service (EDAS) コンソールで、[トラフィック管理] > [マイクロサービスガバナンス] > [HSF] > [サービスグループ] に移動し、サービスグループが存在することを確認します。

    • バージョン edas.hsf.2114.1.0 以降: マルチテナントデータ隔離が有効になります。手動でのサービスグループ作成は必要ありません。サービスは、テナント単位 (常に成功) とグループ単位 (サービス呼び出しに影響なく失敗する場合があります) で 2 回登録されます。この動作を示すログ出力例:

      2018-07-19 10:28:44.716|ERROR|[] [] [%s] [Publish or unregister error] spas-authentication-failed! dataId:com.alibaba.edas.testcase.api.TestCase:1.0.0 group:test error:java.lang.Error: A receivedRevision:2 tenant:DEFAULT_TENANT
      2018-07-19 10:28:44.717|INFO|[] [] [] [Register-ok] Publisher (HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2 for com.alibaba.edas.testcase.api.TestCase:1.0.0)Tenant:0846c173-decf-4b47-xxxxxxxx in group test in env default
      2018-07-19 10:28:44.717|INFO|[] [] [] [Publish-ok] dataId=com.alibaba.edas.testcase.api.TestCase:1.0.0, clientId=HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2, datumId=ecu:ed5b9d2b-a276-4ad7-b7b9-14e432ff****:192.168.xx.xx,tenant=0846c173-decf-4b47-xxxxxxxx, rev=2, env=default

      この例では、tenant:DEFAULT_TENANT を使用したグループベースの認証は失敗しますが、tenant=0846c173-decf-4b47-xxxxxxxx を使用したテナントベースの公開は成功します。少なくとも 1 件の登録が成功すれば十分です。

コンシューマーがプロバイダーのアドレスを見つけられない

サービスは公開されていますが、コンシューマーがプロバイダーのアドレスを受信できません。ご利用の環境に合った手順に従ってください。

開発環境 (軽量設定センター)

  1. アドレスサーバーのIPを確認します。ping jmenv.tbsite.net を実行し、返されたIPがライトウェイト構成センターのIPと一致することを確認します。

  2. サービスコンシューマーを再起動します。Tomcat がすでに実行中の場合は、再起動してください。

  3. Tomcat の起動ログで例外を確認します。

  4. レジストリ接続を検証します。/{userhome}/configclient/logs/configclient.log または /{userhome}/logs/configclient/configclient.log を開きます。Connecting to remoting://<IP address> 内の IP が軽量構成センターと一致することを確認します。

  5. アドレスデータを確認するため、ログで [Data-received] を検索します。プロバイダー情報が受信されない場合は、プロバイダーが登録されていることを確認し、「レジストリにサービスが見つからない」をご参照ください。

  6. プロバイダーへの接続性をテストします。telnet <provider-ip> 12200 を実行します。接続に失敗した場合は、ファイアウォールルールまたはネットワークの問題によってアクセスがブロックされています。

本番環境 (EDAS 管理)

EDAS のアプリケーションは、厳格なサービス認証とデータ分離を強制します。アカウント間のサービス呼び出しはブロックされ、本番サービスは開発環境からアクセスできません。

  1. アドレスサーバーのドメインを確認します。-Daddress.server.domain=<address-server-domain> を見つけ、PING <address-server-domain> を実行して DNS 解決を確認します。

    cat /home/admin/<taobao-tomcat-directory>/bin/setenv.sh
  2. /home/admin/logs//home/admin/configclient/、および /home/admin/<taobao-tomcat-directory>/logs/ の内容を削除して、キャッシュデータをクリアします。

  3. サービスコンシューマーを再起動します。Tomcat がすでに実行中の場合は、再起動してください。

  4. 起動エラーを確認します。

    • 例外を確認するには、/home/admin/<taobao-tomcat-directory>/logs/catalina.out を確認します。

    • /home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.logで例外を確認します。

  5. アドレスデータを確認します。/home/admin/configclient/logs/configclient.log または /home/admin/logs/configclient/configclient.log を開きます。対象のサービスを検索し、[Data-received] を探します。プロバイダー情報が受信されていない場合は、プロバイダーが登録されていることを確認します。

  6. プロバイダーへの接続性をテストします。telnet <provider-ip> 12200 を実行します。接続に失敗した場合は、ファイアウォールルールまたはネットワークの問題がアクセスをブロックしています。

  7. 追加のログを確認します。

    • コンシューマーサブスクリプションデータ/home/admin/configclient/snapshot/DEFAULT_ENV/ 内のファイルを確認してください。コンテンツの例:

      [
        "192.168.xx.xx:12200?_p\u003dhessian2\u0026_ENV\u003dDEFAULT\u0026v\u003d2.0\u0026_TIMEOUT\u003d3000\u0026_ih2\u003dy\u0026_TID\u003d0846c173-decf-4b47-8aa0-04b5a561****\u0026_SERIALIZETYPE\u003dhessian\u0026_auth\u003dy"
      ]
    • サービス呼び出しエラー: /home/admin/logs/hsf/hsf.log を確認してください。

    • ハートビートと接続障害/home/admin/logs/hsf/hsf-remoting.log を確認してください。エラー例:

      01 2018-06-20 12:35:00.797 ERROR [HSF-Worker-2-thread-1:hsf.remoting] [] [] [HSF-0085] [remoting] fail to connect: /192.168.xx.xx:12200 in timeout: 4000

      このエラーは、コンシューマーがプロバイダーとの TCP 持続的接続を確立できないことを示します。解決するには:

      • プロバイダー IP のサービスが実行中で、ポート 12200 がリッスンしていることを確認します。

      • サービスが実行中でポートがリッスンしている場合、Telnet を使用してコンシューマーからポートに到達可能かどうかをテストします。

プロバイダーの IP とポートに接続できない

ファイアウォールまたはネットワークの設定ミスにより、コンシューマーがプロバイダーに到達できません。

  1. プロバイダーサービスが実行中で、ポート 12200 (または設定された HSF ポート) がリッスンしていることを確認します。

  2. コンシューマーからの接続性をテストします:

    telnet <provider-ip> 12200
  3. Telnet が失敗した場合、ポートをブロックしているファイアウォールルールまたはネットワーク ACL を確認します。さらなるトラブルシューティングについては、関連する開発者に連絡してください。

ログファイルリファレンス

開発環境

ログファイル目的
/{userhome}/configclient/logs/configclient.logレジストリ接続とサービス登録
/{userhome}/logs/configclient/configclient.log上記と同じ (パスはバージョンによって異なります)

本番環境

ログファイル目的
/home/admin/<taobao-tomcat-directory>/logs/catalina.outTomcat の起動と HSF のバージョン
/home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.logアプリケーションエラー
/home/admin/configclient/logs/configclient.logレジストリ接続とサービス登録
/home/admin/logs/configclient/configclient.log上記と同じ (パスはバージョンによって異なります)
/home/admin/configclient/snapshot/DEFAULT_ENV/コンシューマーのサブスクリプションデータ
/home/admin/logs/hsf/hsf.logサービス呼び出しエラー
/home/admin/logs/hsf/hsf-remoting.logハートビートと接続ログ

主要なログパターン

パターン意味
[Register-ok][Publish-ok]サービスプロバイダーが正常に登録された
[公開または登録解除エラー]サービス登録に失敗した
[データ受信]コンシューマーがプロバイダーのアドレスを受信した
remoting://<IP> に接続中レジストリ接続先の IP
[HSF-0085]プロバイダーへの TCP 接続に失敗した