2011-05-11 2 views
3

이 문제를 해결하는 데 가장 힘든 시간을 보내고 있습니다. 현재 서버와 함께 실행중인 하나의 중재자로 구성된 2 대의 서버 복제본이 있습니다.자동 페일 오버를 사용할 때 PHP MongoDB 오류가 발생했습니다.

나는 연결하거나 문제 쿼리, 나는 다음 중 하나에 이르기까지 다양 간헐적 인 오류를 얻을 때 :

  • 마스터를 확인할 수 있습니다.
  • [여기에 호스트 넣기]에 연결할 수 없습니다.
  • 깨진 파이프 예외.
  • MongoCursorExceptions.

서버가 오래있을수록 더 자주 발생하는 것처럼 보입니다. 잠시 후, 어떠한 연결을 수행 할 수 없습니다 내가 시도하고 몽고 쉘에 로그인 할 때 다음과 같은 오류가 : BTW

MongoDB shell version: 1.8.1 
connecting to: test 
Wed May 11 16:36:50 MessagingPort recv() errno:104 Connection reset by peer 127.0.0.1:27017 
Wed May 11 16:36:50 SocketException: remote: error: 9001 socket exception [1] 
Wed May 11 16:36:50 DBClientCursor::init call() failed 
exception: DBClientBase::findOne: transport error: 127.0.0.1 query: { whatsmyuri: 1 } 

(세부 (-vvvv) 로깅의 9001 소켓 예외가 올 것으로 보인다와,

mongo 서버를 다시 시작하면 문제가 다시 발생하여 작동하지만 오래 걸릴 수는 없습니다.

내가 사용한 연결 옵션의 조합에 관계없이 아무 것도 효과가 없습니다. 두 웹 서버를 기본 복제본에 연결하도록 변경했을 때 모든 작업이 시작되었습니다. 오류 없음. 자동 페일 오버 없음 : (이상하게도 replicaSet 옵션이 여전히 설정되어있어서 PHP 드라이버가 연결된 마스터가 마스터인지 여부를 결정해야하며, 연결되지 않은 경우에는 아무 것도하지 않아도됩니다.

이것은 마스터에 연결되었는지 여부를 확인한 후 마스터에 연결을 시도하는 PHP 드라이버에 문제가 있음을 나타냅니다. 이론을 시도하고 백업하기 위해 보조 서버에 연결하는 서버 즉시 서버에서 오류가 발생했습니다. 여전히 기본 서버에 연결된 다른 서버가 아닙니다. 오류가 발생하지 않고 다시 전환하십시오.

누구든지이 문제를 해결할 수 있습니까?

내 설정 : - 모두 에서 MongoDB의 복제 - 설정 범위 - - 2 웹 서버 - 모두 에 아파치/PHP 하나 에 차 - MongoDB를 1.8.1 - - PHP 드라이버 1.1 차 및 아비터 다른 합니다. 4 - PHP 5.3.3 - 아파치 2.2.17 - 레드햇 5.5 (Tikanga)

답변

-2

이는 MongoDB의 사용자 메일 링리스트에 active thread의 재 게시합니다.

블로그를 닫고 토론을 마무리하는 것이 가장 바람직 할 수 있습니다.

+0

둘 다 유지하고 싶습니다. 더 나은 기회와 다른 사람들이 같은 문제를 겪고있는 더 좋은 기회. 정답을 받으면 다른 답변을 업데이트 할 수 있습니다. – Tres

+0

참고하시기 바랍니다. 귀하의 답변은 댓글로 사용하는 것이 좋습니다. 나는 당신을 투표하지 않을 것이지만 다른 사람들은 투표 할 것입니다. – Tres

관련 문제