views:

97

answers:

1

I've been having issues getting an AppFabric Cluster running with 2 hosts. I've verified that it works with only 1 host (ie. cache item count increases as I navigate the web app), but when I try joining the 2nd host to the cluster I'm getting the following exception:

Failed to read remote registry key from host 289851-cache2: 
Microsoft.ApplicationServer.Caching.DataCacheException: 
ErrorCode<ERRCAdmin026>:SubStatus<ES0001>:Remote registry access failed on host 289851-cache2.
Check if the required permissions are available. ---> System.IO.IOException: The network path was not found.

    at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)

    at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String machineName, RegistryView view)

    at Microsoft.ApplicationServer.Caching.AdminApi.CacheAdmin.GetRemoteRegistryKey(String hostName, Boolean writable)

    --- End of inner exception stack trace ---

    at Microsoft.ApplicationServer.Caching.AdminApi.CacheAdmin.GetRemoteRegistryKey(String hostName, Boolean writable)

    at Microsoft.ApplicationServer.Caching.AdminApi.CacheAdmin.GetServerVersion(String 

hostName),DistributedCache.CacheAdmin,Error

Where 289851-cache2 is the name of the second host.

Even though the exception said check permissions, I've changed the cache connection account to be my domain account and granted access everywhere - the account is an admin on both AppFabric host machines, has full access to the network share, and I run the AppFabric PowerShell as administrator. But after I run Start-CacheCluster the first host will have a status of UP while the second host will have a status of STARTING indefinitely. I need to restart the machine to do anything else since it won't let me stop, start, or kill the process even via task manager or through services in the control panel.

We're running Windows Server 2008 64 bit with WindowsServerAppFabricSetup_x64_6.0 installed (not 6.1 since I believe that requires Windows Server 2008 R2) with the configuration stored on a network share.

The DistributedCacheAgent.config of host 1:

  <host replicationPort="22236" arbitrationPort="22235" clusterPort="22234" hostId="1739552749" size="1228" leadHost="true" account="<domain account>" name="localhost" cacheHostName="AppFabricCachingService" cachePort="22233" />

The DistributedCacheAgent.config of host 2:

  <host replicationPort="22236" arbitrationPort="22235" clusterPort="22234" hostId="1739552749" size="1228" leadHost="false" account="<domain account>" name="localhost" cacheHostName="AppFabricCachingService" cachePort="22233" />

Thanks in advance.