2011-12-12 17 views
6

मेरे पास एक मशीन (डोमेन-पंजीकृत, विंडोज 7 एंटरप्राइज़) पर ऐपफ़ैब्रिक 1.1 x64 (होस्टिंग + कैश) की एक परीक्षण स्थापना है। स्थापना और कॉन्फ़िगरेशन निर्दोष रूप से चला गया (केवल 1 मशीन के साथ क्लस्टर, एसक्यूएल में कॉन्फ़िगरेशन कॉन्फ़िगरेशन), मैं स्थानीय रूप से सब कुछ चला रहा हूं (SQL सर्वर 2008 R2 सहित)। समस्या तब होती है जब मैं "AppFabric कैशिंग सेवा" शुरू करने के लिए चाहते हैं - यह कुछ सेकंड के बाद दुर्घटनाओं और निम्न प्रविष्टियों में प्रशासनिक घटनाक्रम दिखाई (ईवेंट व्यूअर में):ऐपफ़ैब्रिक 1.1 कैशिंग (विंडोज़ सेवा क्रैशिंग)

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] 

प्राप्त करें-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 

कैशिंग सेवा की स्थापना की नेटवर्क सेवा के रूप में चल रहा हो जाता है।

क्या आपके पास कोई संकेत है कि क्या गलत हो सकता है? मैंने देखा है "अवैध यूआरआई: होस्टनाम को पार्स नहीं किया जा सका।" संदेश, लेकिन कॉन्फ़िगरेशन में नाम पूरी तरह ठीक लगता है (भले ही यह अजीब लगता है, यह मेरे कंप्यूटर का उचित नाम है)। किसी भी सहायता की सराहना की जाएगी।

पीएस मेरे पास ऐपफैब्रिक 1.0 था और यह ठीक काम करने लग रहा था। मैंने AppFabric 1.1 इंस्टॉल करने से पहले इसे अनइंस्टॉल कर दिया है।

उत्तर

4

मैंने यह पता लगाने में कामयाब रहा कि क्या कारण था।

मेरी विंडोज होस्ट फ़ाइल में मेरे पास लूपबैक आईपी: लोकलहोस्ट, {मशीन नाम} और {मशीन नाम FQDN} के लिए कई प्रविष्टियां थीं। जब मैंने सभी को हटा दिया लेकिन {मशीन नाम FQDN}, कॉन्फ़िगरेशन विज़ार्ड उचित कॉन्फ़िगरेशन सेट करने में सक्षम था।

यह आसान तरीका था, लेकिन मुझे पता चला कि बाद में ...

मेरी पहली (और अधिक दर्दनाक) इस समस्या को ठीक करने के लिए रास्ता मैन्युअल कैशिंग सेवा विन्यास को दूर करने और PowerShell का उपयोग कर नए सिरे से यह फिर से बनाने था cmdlets:

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

सेवा proplerly शुरू होता है, लेकिन दुर्भाग्य से, जब मैं Get-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

आपके होस्टनाम को ठीक मैं एक उचित संस्करण जानकारी सेट करने के लिए प्रबंधित किया है, लेकिन ... दुर्भाग्य से , क्लाइंट कनेक्टिंग एक दिलचस्प टिप्पणी के साथ ऐपफैब्रिक कैशिंग सेवा क्रैश का कारण बनता है: "अमान्य एनम मान 'अतिरिक्त राउटिंगप्रॉप' को 'माइक्रोसॉफ्ट.एपिप्लिकेशन सर्वर। कैशिंग नामांकित कैशप्रॉप' में deserialized नहीं किया जा सकता है। erty ' "। मैंने इस मुद्दे को माइक्रोसॉफ्ट में उठाया है, शायद वे मदद करने में सक्षम होंगे। –

+0

समस्या हल हो गई। जीएसी में ऐपफैब्रिक के डीएलएल अभी भी 1.0 वितरण में स्थापित हैं। कोई भी प्रोग्राम फ़ाइलों में ऐपफ़ैब्रिक की निर्देशिका में 1.1 डीएलएल ढूंढ सकता है (या जहां भी आपने इसे इंस्टॉल करना चुना है)। संक्षेप में - मैं (जानबूझकर नहीं) 1.0 क्लाइंट के साथ 1.1 सर्वर तक पहुंचने का प्रयास कर रहा था। परियोजना में संदर्भों को अद्यतन करने के बाद, सबकुछ अच्छी तरह से काम करता है। –

+0

धन्यवाद! यह मुझे बचाया, HOSTS-file से एक प्रविष्टि को हटाने से मेरी समस्याओं का समाधान हुआ। मेरे पास केवल {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

मेरे मामले में, मेरा डेस्कटॉप कंप्यूटर दूसरे डोमेन पर ले जाया गया है। फिक्स वही है जैसा मेजबान नाम एक डीएनएस नाम है। –

संबंधित मुद्दे