2013-03-09 3 views
1

설명서를 읽었지만 WAN을 통해 RavenDB를 복제 할 수 없습니다.RavenDB Replication 문제 - 데이터베이스를 찾을 수 없습니다.

시나리오 :

  • 까마귀 #에게 2261
  • 마스터 DB를 구축 사용은 "it23"
  • 슬레이브 DB의 로컬 이름이 "http://184.169.xxx.xxx"의 원격 이름을 (XXX 년대 위한있다 개인 정보 보호)

두 서버 모두 "TonyTest"라는 데이터베이스를 만들었습니다.

{ 
    "Destinations": [ 
    { 
     "Url": "http://184.169.xxx.xxx:8080", 
     "Username": null, 
     "Password": null, 
     "Domain": null, 
     "ApiKey": null, 
     "Database": "TonyTest", 
     "TransitiveReplicationBehavior": "None", 
     "IgnoredClient": false, 
     "Disabled": false, 
     "ClientVisibleUrl": null 
    } 
    ] 
} 

의 같은 URL을 사용하여 원격 서버로 검색 : 마스터 DB에

, 나는 다음과 같은 문서를 사용하여 복제를 설정 한 http://184.169.xxx.xxx:8080에서, RavenDB 스튜디오가 제대로 실행을, 나는 볼 수 있습니다 TestTony 데이터베이스. 이것은 URL의 형식이 올바른지 확인하는 것 같습니다. 우리가 REMOTE DB에 대한 로그를 볼 때

{ 
    "Destination": "http://184.169.xxx.xxx:8080/databases/TonyTest", 
    "FailureCount": 142 
} 

, 우리는 마스터와의 통신이 있음을 볼 수 있지만, 복제는하지 않습니다

그러나 마스터 데이터베이스는 실패를 보여주는 문서를 생성 완전한.

Debug 3/9/2013 12:19:44 AM Document with key 'Raven/Replication/Sources/http://it23:8080/databases/TonyTest' was not found  Raven.Storage.Esent.StorageActions.DocumentStorageActions 

그것은 원격 서버처럼 보이는 는 dB "TonyTest이 '를 찾을 수 없음을 말하고있다,하지만이 만들어집니다.

사람이 내 실수를 발견 할 수 있습니까?

당 Ayende의 요청, 여기에 LOCAL 서버의 일부 로그 샘플이 복제 설정을 시도한 후 (다시 프라이버시를 위해 IP를 xxx로 대체했습니다.) LOCAL DB의 로그에는 오류가 표시되지 않으며 REMOTE db 로그에 오류 팝업이 표시됩니다. LOCAL DB가 REMOTE db에 연결되어 있지만 복제가 발생하지 않는다는 것을 의미합니다. 다음은 LOCAL 로그입니다 :

Debug 3/11/2013 3:17:00 PM No work was found, workerWorkCounter: 17626, for: ReducingExecuter, will wait for additional work  Raven.Database.Indexing.WorkContext 
Debug 3/11/2013 3:17:00 PM Going to index 1 documents in IndexName: Raven/DocumentsByEntityName, LastIndexedEtag: 00000001-0000-0100-0000-000000002265: (Raven/Replication/Destinations/184.169.xxx.xxx8080databasesTonyTest)  Raven.Database.Indexing.AbstractIndexingExecuter 
Debug 3/11/2013 3:17:00 PM Document with key 'Raven/Studio/PriorityColumns' was not found  Raven.Storage.Esent.StorageActions.DocumentStorageActions 
Debug 3/11/2013 3:16:56 PM Going to index 1 documents in IndexName: Raven/DocumentsByEntityName, LastIndexedEtag: 00000001-0000-0100-0000-000000002256: (Raven/Replication/Destinations/184.169.xxx.xxx8080databasesTonyTest)  Raven.Database.Indexing.AbstractIndexingExecuter 

업데이트 3/11 8 : 태평양 시간 24P 나는 지금 MASTER/지역 까마귀 로그에 다음과 같은 오류를보고하고있다 : 응답이를 해결

System.AggregateException: One or more errors occurred. ---> System.Net.HttpListenerException: An operation was attempted on a nonexistent network connection 
    at System.Net.HttpResponseStream.Dispose(Boolean disposing) 
    at System.IO.Stream.Close() 
    at Raven.Database.Util.Streams.BufferPoolStream.Dispose(Boolean disposing) in c:\Builds\RavenDB-Stable\Raven.Database\Util\Streams\BufferPoolStream.cs:line 144 
    at System.IO.Stream.Close() 
    at Raven.Database.Impl.ExceptionAggregator.Execute(Action action) in c:\Builds\RavenDB-Stable\Raven.Database\Impl\ExceptionAggregator.cs:line 23 
    --- End of inner exception stack trace --- 
    at Raven.Database.Impl.ExceptionAggregator.ThrowIfNeeded() in c:\Builds\RavenDB-Stable\Raven.Database\Impl\ExceptionAggregator.cs:line 38 
    at Raven.Database.Server.Abstractions.HttpListenerResponseAdapter.Close() in c:\Builds\RavenDB-Stable\Raven.Database\Server\Abstractions\HttpListenerResponseAdapter.cs:line 94 
    at Raven.Database.Server.Abstractions.HttpListenerContextAdpater.FinalizeResponse() in c:\Builds\RavenDB-Stable\Raven.Database\Server\Abstractions\HttpListenerContextAdpater.cs:line 92 
---> (Inner Exception #0) System.Net.HttpListenerException (0x80004005): An operation was attempted on a nonexistent network connection 
    at System.Net.HttpResponseStream.Dispose(Boolean disposing) 
    at System.IO.Stream.Close() 
    at Raven.Database.Util.Streams.BufferPoolStream.Dispose(Boolean disposing) in c:\Builds\RavenDB-Stable\Raven.Database\Util\Streams\BufferPoolStream.cs:line 144 
    at System.IO.Stream.Close() 
    at Raven.Database.Impl.ExceptionAggregator.Execute(Action action) in c:\Builds\RavenDB-Stable\Raven.Database\Impl\ExceptionAggregator.cs:line 23<--- 
+0

대상 로그는 적합하지 않습니다. 출처에서 볼 수있는 오류는 무엇입니까? –

+0

안녕하세요, 아옌데. 위의 로컬/소스 로그 중 일부를 복사했습니다. 우리는 내가 인식하는 오류가 보이지 않는 것 같습니다. 어떤 아이디어? –

+0

또 다른 업데이트로 제 PC에서 2 번째 RavenDB 인스턴스를 만들었고 완벽하게 복제 할 수있었습니다. WAN을 통한 복제에 필요한 특별한 구성은 무엇입니까? –

답변

1

를 닫

을하지 못했습니다. 나는 완전한 이유를 이해하지 못한다. 때 마스터

<add key="Raven/AnonymousAccess" value="All"/> 

은 기본값은 기본값은 괜찮 았는데

<add key="Raven/AnonymousAccess" value="Get"/>. 

했다 : 슬레이브 서버에서

, 다음과 같은 키를 가지고하는 raven.server.exe 설정 파일을 설정해야합니다 노예가 같은 기계에 있었다. 그러나 마스터와 슬레이브가 별도의 시스템 (LAN 또는 WAN을 통해)에있을 때 복제가 실패했습니다.

자신의 문제를 지적한 마스터에서 로그 항목을 찾을 수 없었습니다. 내가 볼 수있는 유일한 로그 항목은 Raven/Replication/Sources /가 발견되지 않았다는 노예에 관한 것이 었습니다. 마스터가 슬레이브에 연결했지만 슬레이브가 "Raven/Replication/Sources /"문서를 원격으로 만들 수 없음을 알았습니다.

관련 문제