MongoDB 3.0 wprowadza nowy silnik pamięci o nazwie, wiredTiger
co powoduje znaczne zmniejszenie zużycia pamięci i miejsca na dysku.
Ponieważ moja baza danych ma obecnie około 20 milionów obiektów i zużywa około 70 GB pamięci RAM, ta aktualizacja pojawia się w odpowiednim momencie, aby odłożyć aktualizację sprzętu.
W jaki sposób migrujesz istniejącą instalację MongoDB 2.6 do 3.0 i jednocześnie zyskujesz korzyści z wiredTiger?
Dokumentacja odnosi się do opcji, które powodują błędy uruchamiania, które uniemożliwiają uruchomienie MongoDB. Ponadto lokalizacje plików nie pasują do tych w Ubuntu (serwer 14.04 LTS).
Odpowiedzi:
W instalacjach domyślnych plik konfiguracyjny to
/etc/mongod.conf
. Dokumenty MongoDB nie wspominają, że podczas migracji do WiredTiger musimy również zaktualizować plik konfiguracyjny do nowego formatu YAML wprowadzonego w 2.6.O ile wiem,
engine
opcja jest dostępna tylko w nowym formacie konfiguracji.Migracja ze starego silnika pamięci polega na utworzeniu zrzutu bazy danych, wyłączeniu mongodb, zmianie ustawień, a następnie zaimportowaniu zrzutu do nowego silnika pamięci.
Utwórz kopię zapasową. Poważnie. Potrzebujemy zrzutu bazy danych, który następnie zaimportujemy do nowego silnika bazy danych:
Zatrzymaj usługę mongodb
Przenieś dane z bieżącej lokalizacji w inne miejsce (MongoDB nie uruchomi się, jeśli katalog danych zawiera pliki wygenerowane przez stary silnik pamięci).
Zaktualizuj MongoDB do wersji 3.0 (z http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
Konwertuj plik konfiguracyjny ze starego (wcześniejszego niż 2.6) na bieżący format YAML. Absolutne minimum to:
Upewnij się, że nie pozostały żadne wiersze w starym formacie, w przeciwnym razie MongoDB nie uruchomi się.
Pełna dokumentacja pliku konfiguracyjnego znajduje się na stronie: http://docs.mongodb.org/v3.0/reference/configuration-options/
Opcjonalnie wykonaj kopię zapasową dziennika:
Uruchom ponownie mongodb
Załaduj kopię zapasową, aby przekonwertować dane na nowy silnik pamięci
Po sprawdzeniu, czy wszystkie twoje dane są w porządku, możesz usunąć katalog ze starym formatem danych
Należy pamiętać, że w przypadku zestawów replik i dzielonych klastrów istnieją dodatkowe kroki: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage -silnik-do-wiredtiger
źródło
Korzystając ze starego formatu pliku konfiguracji , odniosłem sukces z:
źródło