2017-12-18 12 views
0

하나의 CM 서버와 3 개의 CD 서버로 Sitecore 8.2를 실행하고 있습니다. CD 서버 중 하나에서만 다음 오류가 발생합니다.Sitecore.Analytics.Exceptions.ContactLockException

5396 2017:12:18 00:00:59 ERROR Cannot finish Analytics page tracking 
Exception: Sitecore.Analytics.Exceptions.ContactLockException 
Message: Failed to extend contact lease for contact e629daf6-1176-4c55-9c17-31b45292212c 
Source: Sitecore.Analytics 
at Sitecore.Analytics.Tracking.ContactManager.SaveAndReleaseContact(Contact contact) 
at Sitecore.Analytics.Pipelines.EndAnalytics.ReleaseContact.Process(PipelineArgs args) 
at (Object , Object[]) 
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) 
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, Boolean failIfNotExists) 
at Sitecore.Analytics.Pipelines.EndAnalytics.EndAnalyticsPipeline.Run() 
at Sitecore.Analytics.Pipelines.HttpRequest.EndAnalytics.Process(HttpRequestArgs args) 

확인되었습니다. 필자는 설정 파일을 다른 CD 서버에있는 파일과 비교했습니다. 코드베이스는 다른 두 환경과 동일합니다. 누구든지 다음에 무엇을 확인해야하는지에 대한 제안이 있습니까? 나는이 문제가있는 유일한 서버이기 때문에이 서버에서 뭔가를 놓친 것처럼 느낍니다.

답변

1

당신은 아마 (Sitecore.Analytics.Tracking.config)에서 Analytics.ClusterName는 CD 사이트마다 고유한지 확인해야, Sitecore는 연락처를 잠그고 클러스터의 고유 식별자, 사용자 세션 요청을 사용하여 3 CD 서버 사이를 이동하면 다른 CD (2 & 3)에 잠긴 경우 CDDB의 xDB가이를 해제하지 못할 수 있습니다.

당신이 할 수있는 것은 :

  1. 각 CD 서버가 고유 한 도메인 또는 하위 도메인이 있는지 확인합니다 (예를 들어, prod1.mywebsite.com, prod2.mywebsite.com .. 등), I 일반적으로이 고유 한 도메인을 공개적으로 액세스 가능하게 만들지 말고 각 CD가 고유 한 도메인으로 다른 CD 서버와 통신 할 수있는 한 네트워크 내에서 액세스 가능하게하십시오.
  2. Analytics.ClusterName 각 CD 서버의 고유 한 도메인에 할당했습니다.

교정 :

나는 추가 정보를 얻을 수 sitecore 지원에 연락, 그들은 여러 CD 서버에 대한 단일 클러스터가있는 경우, 그럼 당신은 모든 CD에 동일한 Analytics.ClusterName를 사용해야 하더군요 서버, 여러 개의 클러스터가 있고 각 클러스터가 다른 세션 데이터베이스를 사용하는 경우 각 클러스터 내의 CD 서버에 동일한 Analytics.ClusterName이 클러스터마다 고유해야하므로 위의 대답에이 수정이 필요합니다.

+0

여러 CD 서버가있는 경우이 조언이 잘못되었습니다. Sitecore 문서는 모든 CD 서버가 모든 서버에 대해 도메인 이름 (예 :로드 밸런서를 통해 서버에 액세스하는 주소)을 사용해야 함을 명확히 정의합니다. https://doc.sitecore.net/sitecore_experience_platform/80/setting_up_and_maintaining/xdb/configuring_servers/configure_a_content_delivery_server –