MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zbyt wiele otwartych plików przy jednoczesnym zapewnieniu indeksowania mongo

Uwaga: To rozwiązanie działa/może nie działać z najnowszymi systemami Mac OS (komentarze wskazują>10,13?). Najwyraźniej zmiany zostały wprowadzone ze względów bezpieczeństwa.

Koncepcyjnie rozwiązanie ma zastosowanie - oto kilka źródeł dyskusji:

  • https://wilsonmar.github.io/maximum-limits/
  • https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
  • https://superuser.com/questions/433746/jest-naprawa-dla-zbyt-wielu-otwartych-plików-w-błędzie-systemu-na-os-x-10-7 -1

--

Miałem ten sam problem (wykonywanie innej operacji, ale nadal błąd „Zbyt wiele otwartych plików”) i jak mówi lese, wydaje się, że na komputerze z uruchomionym mongodem wydaje się, że jest to limit „maksymalnych plików”.

Na komputerze Mac lepiej sprawdzać limity za pomocą:

sudo launchctl limit

To daje:

<limit name> <soft limit> <hard limit>
    cpu         unlimited      unlimited      
    filesize    unlimited      unlimited      
    data        unlimited      unlimited      
    stack       8388608        67104768       
    core        0              unlimited      
    rss         unlimited      unlimited      
    memlock     unlimited      unlimited      
    maxproc     709            1064           
    maxfiles    1024           2048  

Aby obejść ten problem, tymczasowo ustawiłem wyższy limit (mój był pierwotnie mniej więcej miękki:256, twardy:1000 lub coś dziwnego):

sudo launchctl limit maxfiles 1024 2048

Następnie ponownie uruchom operację zapytania/indeksowania i sprawdź, czy się zepsuje. Jeśli nie, i aby zachować wyższe limity (zostaną zresetowane, gdy wylogujesz się z sesji powłoki, w której je ustawiłeś), utwórz plik '/etc/launchd.conf' z następującym wierszem:

limit maxfiles 1024 2048

(lub dodaj tę linię do istniejącego pliku launchd.conf, jeśli już go masz).

To ustawi maxfile przez launchctl w każdej powłoce podczas logowania.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $radiansToDegrees

  2. Jak uzyskać identyfikator obiektu po zapisaniu obiektu w Mongoose?

  3. Jak wyszukać obiekt według jego identyfikatora ObjectId w konsoli mongo?

  4. Mongodb findAndModify węzeł js

  5. Mongo znajduje duplikaty wpisów dla dwóch lub więcej pól