web-dev-qa-db-ja.com

Service FabricアプリケーションをパブリックService Fabricクラスターに展開した後の「パーティションがターゲットレプリカまたはインスタンス数を下回っています」エラー

OWINを使用してWeb APIをホストする、サービスファブリックのステートレスで信頼性の高いサービスを作成しました。アプリケーションをローカルクラスターにデプロイすると、正常に機能し、APIを呼び出すことができました。

アプリケーションをパブリッククラスターに展開したとき、展開は正常に完了しましたが、Service Fabric Explorerを使用してクラスターを検査したとき、

レプリカはしばらくの間「In Build」ステータスにあるように見えましたが、「Warning」状態に移行し、最終的にファブリックエクスプローラーのツリー全体が赤くなり、パーティションの下にレプリカがなくなりました。そして、ヘルスステータスをエラーとして示しました。 「パーティションがターゲットレプリカまたはインスタンス数を下回っています」というエラーを表示しています。

また、許可されたポートを使用してOWIN Webサーバーを作成しました。

これは、ローカルクラスターにアプリケーションをデプロイするときに発生しません。 パブリッククラスターのService Fabric ExplorerスクリーンショットローカルクラスターのService Fabric Explorerスクリーンショット

17
Binu Vijayan

ほとんどの場合、このエラーは「サービスを開始できませんでした」という意味です。サービスの未処理の例外がサービスの開始を妨げている場合、Service Fabric Explorerでサービスインスタンスまたはレプリカにドリルダウンして、複数回の試行後に開始に失敗したときにスタックトレースを表示できます。

ところで、新しいWebベースのService Fabric Explorerを使用することをお勧めします。クラスターのポート19080にWebブラウザーを向けるだけです: http://mycluster.eastus.cloudapp.Azure.com:19080/Explorer/index.htm .

15
Vaclav Turecek

私の側からのちょっとしたコメント。このエラーに何時間も費やした後、問題はC:\ドライブの低いディスクスペースにありました。空き容量を約3GBから8GBに増やした後、エラーは消えました。

ここで述べたとおり: https://github.com/Azure/service-fabric-issues/issues/15

デフォルトのインストールには、現在約10Gbのディスク容量が必要です

11
Ivan Sivak

この問題に出くわしましたが、構成エラーでした。

ポート19080上のサービスFabric Explorerのエラーは次のように述べています。

Error event: SourceId='System.FM', Property='State'.

パーティションがターゲットレプリカまたはインスタンス数を下回っています。 fabric:/ MyApp/MyService 3 2 [partitionid] N/P RD _Node_0 Up [長い数値](1レプリカ中1を表示。使用可能なレプリカの合計:1.)

私のApplicationManifest.xmlには次のようなものがありました。

  <Service Name="MyService">
  <StatefulService ServiceTypeName="MyServiceType" TargetReplicaSetSize=**"3"** MinReplicaSetSize=**"2"**>
    <SingletonPartition />
  </StatefulService>
</Service>

MinReplicaSetSizeを1に減らし、TargetReplicaSetSizeを1に減らし、再公開することで問題を解決しました。

従来のEye-Dee-Ten-Tee(ID10T)の構成の問題:-D

3
Jersey_Guy

Azure Service Fabricを使用してアプリケーションをデプロイしていますが、このエラーが発生しました。

調査後、「TargetReplicaSetSize」と「MinReplicaSetSize」がノード番号を超えたことが原因であることがわかりました。

問題を解決するには、ApplicationParameters/cloud.xmlで「PartitionCount」、「TargetReplicaSetSize」、「MinReplicaSetSize」を1に変更し、アプリケーションを再デプロイします。

<?xml version="1.0" encoding="utf-8"?> <Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/Voting" xmlns="http://schemas.Microsoft.com/2011/01/fabric"> <Parameters> <Parameter Name="xxx_PartitionCount" Value="1" /> <Parameter Name="xxx_MinReplicaSetSize" Value="1" /> </Parameters> </Application>

1
SLdragon

同じエラーメッセージが表示されました。私のコンテナはまだ構築されていませんでした。数分かかりましたが、ステータスがOKに変わりました。

0
Ben K.