2015-11-11 101 views
2

我一直在使用Service Fabric一段時間,成功構建,部署和測試了多個服務,但剛完成構建的服務在部署時失敗(請參閱錯誤下面)。在診斷過程中,我嘗試過使用VS模板創建和部署一個全新的服務(不需要更改代碼),並且不會部署 - 同樣的錯誤。但是,計算器SDK示例部署得很好。Azure服務結構 - 部署失敗,剩餘1個分區

我得到下面的地方沒有建立分區中的一個錯誤:

Service Status: 
fabric:/DataFabricServiceApplication/DataFabricService is not ready, 1 partitions remaining. 

Service Status: 
fabric:/DataFabricServiceApplication/DataFabricService is not ready, 1 partitions remaining. 

Service Status: 
fabric:/DataFabricServiceApplication/DataFabricService is not ready, 1 partitions remaining. 

Service Status: 
fabric:/DataFabricServiceApplication/DataFabricService is not ready, 1 partitions remaining. 

Service Status:,fabric:/DataFabricServiceApplication/DataFabricService is not ready, 1 partitions remaining. 

Something is taking too long, the application is still not ready. 
Finished executing script 'Get-FabricApplicationStatus.ps1'. 
Time elapsed: 00:01:48.0681346 
The thread 0x37fc has exited with code 0 (0x0). 
The thread 0x4fe4 has exited with code 0 (0x0). 

獲取服務的健康提供了以下:

PS C:\WINDOWS\system32> Get-ServiceFabricServiceHealth -ServiceName fabric:/DataFabricServiceApplication/DataFabricService 


    ServiceName   : fabric:/DataFabricServiceApplication/DataFabricService 
    AggregatedHealthState : Error 
    UnhealthyEvaluations : 
          Unhealthy partitions: 100% (1/1), MaxPercentUnhealthyPartitionsPerService=0%. 

          Unhealthy partition: PartitionId='3eebd943-097d-4568-ad7e-d37c621a888b', AggregatedHealthState='Error'. 

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

    PartitionHealthStates : 
          PartitionId   : 3eebd943-097d-4568-ad7e-d37c621a888b 
          AggregatedHealthState : Error 

    HealthEvents   : 
          SourceId    : System.FM 
          Property    : State 
          HealthState   : Ok 
          SequenceNumber  : 10 
          SentAt    : 11/11/2015 07:16:02 
          ReceivedAt   : 11/11/2015 07:16:03 
          TTL     : Infinite 
          Description   : Service has been created. 
          RemoveWhenExpired  : False 
          IsExpired    : False 
          Transitions   : Warning->Ok = 11/11/2015 07:16:03, LastError = 01/01/0001 00:00:00 

有誰知道爲什麼這個億韓元」部署/我如何能夠達到這個底部?我看過其他人有同樣的錯誤,但沒有找到任何解決方案。

回答

2

對服務健康的不健康評估顯示出存在問題的分區。您可以繼續深入該分區的健康狀況(Get-ServiceFabricPartitionHealth 3eebd943-097d-4568-ad7e-d37c621a888b)。我的猜測是,你會看到一個Error事件System.FM說分區低於最小副本集大小。

然後您可以深入到複製品健康(Get-ServiceFabricReplica 3eebd943-097d-4568-ad7e-d37c621a888b | Get-ServiceFabricReplicaHealth)。 我遇到過很多這種情況,因爲副本無法打開(無論是因爲配置問題還是服務副本代碼中的錯誤)。如果是這樣的話,你會在副本上看到一個事件,說出它有什麼問題(例如,打開需要很長時間,或者打開失敗並顯示錯誤代碼等),否則副本將繼續回收。

+1

什麼是可能出問題可能的配置問題?在我的情況下,這很可能是一個配置問題,因爲它在本地工作,但在部署到遠程服務器時發生錯誤。 – alltej

+0

有人對上述問題有回答 –

+0

可能有很多問題。看看事件日誌,看看是否有任何條目指向正在發生的事情。一些例子:端口衝突或端口沒有打開,沒有發現證明,在服務代碼未處理的異常從包裝角落案例場景(在本地集羣未命中),丟失的文件扔到(忘了「始終複製」是VS項目),出內存或虛擬機上的其他問題。 –

0

沒有答案,但我可能能夠爲您節省一些時間。我在一臺機器上(我的筆記本電腦)出現了這個錯誤,另一臺在Azure虛擬機中運行的代碼完全正常。

簡短的回答 - 我現在從我構建的WS2012R2/VS2015和SF SDK的模板上運行我的所有調試。每次我遇到這個bug時,我都會將源代碼提交給團隊服務器,刪除虛擬機,重新創建它,獲取源代碼並繼續。花費大約10分鐘時間,爲這些煩人的問題節省了大量時間(沒有抱怨 - 這在預發佈/預覽階段並不常見)。

我懷疑在調試/重建/調試/重建週期中,在SF中損壞了某些東西。我已嘗試重置,刪除/重新安裝一切方式來刪除SDK和VS,但沒有任何清除錯誤一旦啓動。也許有某種註冊表損壞,在重新安裝時不會重置?我記得看到其中一條抱怨性能計數器丟失的痕跡,另一位用戶發現了同樣的事情,但我無法進一步追蹤。一旦它再次發生,我會盡量多看一點。

0

捕捉/登錄CreateServiceReplicaListeners方法的錯誤..

  1. 可能是你更新發布配置爲本地(DEV)服務織物集羣 確保您使用的是本地(DEV)正確的配置文件集羣 ApplicationParameters在Local.1Node和Local.5Node

  2. 終點不在ServiceManifest

  3. 的Listenersettings是錯誤的存在.. 等
0

擴展了@MarkD的說法我遇到了同樣的問題,對我來說一個快速解決方案就是將代碼推送到我的存儲庫,然後刪除/重新克隆它。在下載克隆並重建它時,我沒有部署問題。