Kort svar / tl;dr
Nej.
Lidt længere svar
Nej, for det giver mening at bruge skallen.
Svar
Når du opsætter et replikasæt, har du normalt mere end ét medlem. Indtil replikasættet er initialiseret, har ingen af medlemmerne den nødvendige konfiguration. Den node, du initialiserer replikasættet på, bliver primær og gemmer konfigurationen. Nu tilføjer du medlemmer enten ved at bruge rs.add
kommando eller ved at bruge rs.reconfig
. Hvad der så sker er, at den primære kontakter det tilføjede medlem, konfigurationen synkroniseres og nogle andre ting. Det er bedste praksis, at almindelige replikasætmedlemmer skal være ens, så at en knude fejler, der er ingen ulempe, at en anden knude bliver primær, og så den nye primære kan forblive primær, indtil den går ned af en eller anden grund eller den anden selv.
Så hvis du vil starte et replikasætmedlem, hvor skal det så få dets konfiguration fra? Bestem selv, hvad den skal gøre? Det ville ikke fungere godt i en klynge. Hvordan skal den opdage de andre medlemmer og deres konfiguration? Husk, at medlemmer af replikasæt kan være i forskellige datacentre. Og hvis der var en --IamPrimaryDoAsISay
mulighed, hvad ville der ske, hvis der var en anden primær i øjeblikket i klyngen? Og hvordan skal en situation, hvor mere end ét medlem blev startet med den mulighed, håndteres? Et skridt ned af den anden server? Kan det bare være fordi du har udskiftet en køler? Eller skulle den netop startede instans ikke gøre noget, når der allerede var en primær? Hvilken mening ville muligheden så have i første omgang?
Og alle disse komplikationer bare for at forhindre en enkelt kommando fra skallen?
Bemærk:Hvis du vil have en enkelt server, skal du bare starte en selvstændig instans (en mongod uden --replSet
option). Hvis du vil udforske mulighederne for et replikasæt, skal du bruge mere end ét medlem.