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

Jak zainicjować zestaw replikacji mongodb bez wywoływania rs.initiate()?

Krótka odpowiedź / tl;dr

Nie.

Nieco dłuższa odpowiedź

Nie, ponieważ używanie powłoki ma sens.

Odpowiedź

Kiedy konfigurujesz zestaw replik, zwykle masz więcej niż jednego członka. Do czasu zainicjowania zestawu replik żaden z członków nie posiada niezbędnej konfiguracji. Węzeł, w którym zainicjujesz zestaw replik, staje się podstawowym, przechowując konfigurację. Teraz możesz dodawać członków za pomocą rs.add poleceniem lub za pomocą rs.reconfig . Dzieje się tak, że główne kontakty z dodanym członkiem, konfiguracja jest zsynchronizowana i kilka innych rzeczy. Najlepszą praktyką jest, aby zwykłe elementy zestawu replik były równe, tak aby jeden węzeł uległ awarii, nie ma wady polegającej na tym, że inny węzeł staje się głównym, a więc nowy główny może pozostać głównym, dopóki nie przestanie działać z jakiegoś powodu lub z innego powodu.

Więc jeśli chcesz uruchomić członka zestawu replik, skąd powinien wziąć swoją konfigurację? Zdecyduj sam, co ma robić? To nie działałoby dobrze w klastrze. Jak powinien odkryć innych członków i ich konfigurację? Pamiętaj, że członkowie zestawu replik mogą znajdować się w różnych centrach danych. A jeśli był --IamPrimaryDoAsISay opcja, co by się stało, gdyby w klastrze znajdował się obecnie inny podstawowy? A jak poradzić sobie z sytuacją, w której więcej niż jeden członek zaczął korzystać z tej opcji? Cofnięcie drugiego serwera? Może tylko dlatego, że wymieniłeś chłodnicę? A może właśnie uruchomiona instancja nie powinna nic robić, gdy już istniała podstawowa? Jaki sens miałaby wtedy ta opcja?

I wszystkie te komplikacje tylko po to, by zapobiec pojedynczemu poleceniu z powłoki?

Uwaga:Jeśli chcesz mieć pojedynczy serwer, po prostu uruchom samodzielną instancję (mongod bez --replSet opcja). jeśli chcesz poznać możliwości zestawu replik, potrzebujesz więcej niż jednego członka.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring data mongo używa OR w zapytaniu

  2. Aktualizacja MongoDBOne()

  3. Jak uzyskać liczbę dopasowanych filtrów w mongoDB?

  4. Zmienne środowiskowe aplikacji Meteor

  5. Jak skonfigurować klaster MongoDB obsługujący sesje?