2013-05-30 2 views
0

우리는 많은 데이터를 가진 3 노드 replSet을 실행 중이며 현재 1500 개가 넘는 데이터 파일을 가지고 있습니다.> 1023 FD가있는 MongoDB를 시작할 때의 문제

우리는 이제 다음과 같은 문제로 실행 MongoDB의 인스턴스를 다시 시작하는 경우 : 그것은 1024에 FD_SETSIZE 제한 함께 할 수있는 뭔가가하지만에 ulimit -n으로 설정되어있는 것 같습니다, 인터넷 검색을 많이 후

Thu May 30 12:11:20.326 [initandlisten] create collection local.startup_log { create: "startup_log", size: 10485760, capped: true } 
Thu May 30 12:11:20.326 [initandlisten] command local.$cmd command: { create: "startup_log", size: 10485760, capped: true } ntoreturn:1 keyUpdates:0 reslen:75 543ms 
Thu May 30 12:11:20.326 [initandlisten] info PageFaultRetryableSection will not yield, already locked upon reaching 
Thu May 30 12:11:20.326 [initandlisten] insert local.startup_log ninserted:1 keyUpdates:0 0ms 
Thu May 30 12:11:20.326 [initandlisten] fd limit hard:550000 soft:550000 max conn: 440000 
Thu May 30 12:11:20.326 [initandlisten] ERROR: socket 1203 is higher than 1023; not supported 
Thu May 30 12:11:20.326 [initandlisten] now exiting 
Thu May 30 12:11:20.326 dbexit: 

을 로그에서 볼 수 있듯이 550000입니다.

인스턴스를 다시 가져올 수 없습니다. 누군가 내게 힌트를 줄 수 있습니까?

감사합니다, 올리버

이 오류 메시지에 대한
+0

서버를 실행중인 운영 체제는 무엇입니까? –

+0

버전에 따라 적용될 수있는 [이 호] (https://jira.mongodb.org/browse/SERVER-8521)를 살펴볼 수도 있습니다. –

+0

RHEL 6.3에서 실행 중입니다. MongoDB 버전은 v2.4.3, 자식 버전 : fe1743177a5ea03e91e0052fb5e2cb2945f6d95f입니다. – user2436006

답변

0

소스 코드는 여기에 :

https://github.com/mongodb/mongo/blob/v2.4.1/src/mongo/util/net/listen.cpp#L205

파일 기술자가 여기에 내가 쉬운 볼 1024 헤더 파일에 정의되어 FD_SETSIZE에 비교한다 방법 (운영 체제, ulimits ...)을 구성하여이 값을 변경하는 방법.

최신 MongoDB 버전을 사용하고 있습니까? MongoDB 문제를 살펴보면 시작시 모든 파일을 열지 않아 사용 된 파일 설명자의 수를 줄이기 위해 몇 가지 변경 사항이있었습니다. Joachim Isaksson의 의견 링크를 참조하십시오.

+0

시작시 모든 파일을 열지 않아도 고맙습니다. 하지만 이것이 범프 2.4.3으로 구현되었는지는 확실합니다. – user2436006

관련 문제