2011-12-12 14 views
6

私はAppFabric 1.1 x64(Hosting + Cache)を1台のマシン(ドメイン登録済みのWindows 7 Enterprise)にテストインストールしています。インストールと構成は完璧になりました(クラスタは1台のマシンで構成され、構成はSQLに格納されています)、すべてローカルで実行しています(SQL Server 2008 R2を含む)。私は、「AppFabricのキャッシュサービス」を開始したい時に問題が発生した - それは、数秒後にクラッシュし、次のエントリは、(イベントビューアの)行政のイベントに表示されます:AppFabric 1.1キャッシング(Windowsサービスのクラッシュ)

Faulting application name: DistributedCacheService.exe, version: 1.0.4632.0, time stamp: 0x4eafeccf 
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c 
Exception code: 0xe0434352 
Fault offset: 0x000000000000cacd 
Faulting process id: 0x1928 
Faulting application start time: 0x01ccb8c5266c0fd5 
Faulting application path: C:\Program Files\AppFabric 1.1 for Windows Server\DistributedCacheService.exe 
Faulting module path: C:\Windows\system32\KERNELBASE.dll 
Report Id: 6457890a-24b8-11e1-b051-70f1a19c8456 

Application: DistributedCacheService.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.UriFormatException 
Stack: 
    at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(System.Object) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
    at System.Threading.ThreadPoolWorkQueue.Dispatch() 
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 

ここで
AppFabric Caching service crashed with exception {System.UriFormatException: Invalid URI: The hostname could not be parsed. 
    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) 
    at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeThisHostData() 
    at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeDataFromGlobalConfig() 
    at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartService(Boolean deleteTKT) 
    at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(Object context) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
    at System.Threading.ThreadPoolWorkQueue.Dispatch() 
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()}. Check debug log for more information 

は、基本的なPowerShellのコマンドからの出力です:

は、Get-CacheHost

HostName : CachePort Service Name   Service Status Version Info 
-------------------- ------------   -------------- ------------ 
MW7GM0B50ROMDQ:22233 AppFabricCachingService DOWN   3 [3,3][1,3] 

のGet-CacheHostConfig

cmdlet Get-CacheHostConfig at command pipeline position 1 
Supply values for the following parameters: 
HostName: MW7GM0B50ROMDQ 
CachePort: 22233 

HostName  : MW7GM0B50ROMDQ 
ClusterPort  : 22234 
CachePort  : 22233 
ArbitrationPort : 22235 
ReplicationPort : 22236 
Size   : 3994 MB 
ServiceName  : AppFabricCachingService 
HighWatermark : 99% 
LowWatermark : 90% 
IsLeadHost  : True 

キャッシングサービスが設定されているネットワークサービスとして実行されています。

何が間違っているかもしれませんか?私はを見た "無効なURI:ホスト名を解析できませんでした。というメッセージが表示されますが、設定の名前は完全に正しいと思われます(奇妙に見えても、自分のコンピュータの名前です)。どんな助けもありがとう。

P.S.私は前にAppFabric 1.0を持っていたし、うまく動作していたようだ。 AppFabric 1.1をインストールする前にアンインストールしました。

答えて

4

私はその理由を知ることができました。

私のWindowsホストファイルには、ローカルホスト、{マシン名}、{マシン名FQDN}というループバックIP用のエントリがいくつかありました。 {machine name FQDN}を除くすべてを削除したとき、構成ウィザードは適切な構成を設定できました。

これは簡単な方法でしたが、私は問題を解決するために、後で...

私の最初の(そしてより多くの痛みを伴う)の方法は、PowerShellを使用して、最初からそれを手動でのキャッシングサービスの設定を削除し、再作成することだったことを学びましたコマンドレット:

Import-Module ApplicationServer 
Import-Module DistributedCacheAdministration 
Import-Module DistributedCacheConfiguration 
New-CacheCluster ... 
Register-CacheHost ... 
Add-CacheHost ... 
Add-CacheAdmin ... 
etc. 

サービスがproplerly開始しますが、悲しいことには、私がゲット-CacheHostと設定を確認するとき、私が受け取る:

HostName : CachePort      Service Name   Service Status Version Info 
--------------------      ------------   -------------- ------------ 
MW7GM0B50ROMDQ.<domain part>:22233   AppFabricCachingService UP    0 [0,0][0,0] 

バージョンを見ればそれはおそらく不適切だと分かります。私は(「更新-CacheHostAllowedVersions」)手動でこの情報を更新しようとすると、残念ながら、私は奇妙な探して「アクセス拒否」のエラーが出る:

Update-CacheHostAllowedVersions : ErrorCode<ERRCAdmin026>:SubStatus<ES0001>:Remote registry access failed on host MW7GM0B50ROMDQ.<domain part>. Check if the required permissions are available and the host is not down. 

私はそれが本当にだかどうかを確認するためにいくつかのより多くのテストをしなければなりません問題またはちょうど迷惑です。

+0

あなたのホスト名を修正します興味深いコメントでAppFabric Caching Serviceがクラッシュするクライアントの接続: "無効な列挙型の値 'AdditionalRoutingProps'を 'Microsoft.ApplicationServer.Caching.NamedCacheProp型に逆シリアル化できません。 erty '」私はマイクロソフトに問題を提起しました。多分彼らは手伝ってくれるでしょう。 –

+0

問題が解決しました。 GACのAppFabricのDLLはまだ1.0のディストリビューションにインストールされています。 Program Files内のAppFabricのディレクトリ(またはそれをインストールすることを選択した場所)でのみ、1.1 DLLを見つけることができます。 要約すると、私は意図的に1.0のクライアントで1.1サーバーにアクセスしようとしていました。プロジェクト内の参照を更新すると、すべて正常に動作します。 –

+0

ありがとう!これは私の問題を解決したHOSTSファイルからエントリを削除して私を救った。私は{machinename}だけのエントリを持っていました。 – Dribbel

1

私は同様の問題に直面しましたが、HOSTの修正は役に立たなかった。私の問題の核心は、私のサーバは長い(8文字以上)名前を持っていました。キャッシュが構成されたら、それはトリムされました。

最初に有用なヒントは、Get-CacheHostの出力で、名前が正しくありませんでした。その後、溶液は簡単だった:

  1. Export-CacheClusterConfig -Path <path>\config.xml
  2. 編集ファイルと私は悲しいことに、適切なバージョン情報を設定するために管理し、しかし...き
  3. Import-CacheClusterConfig -Path <path>\config.xml
  4. Start-CacheCluster
+0

私の場合、私のデスクトップコンピュータは別のドメインに移動されました。修正はホスト名がDNS名と同じです。 –

関連する問題