2016-03-22 13 views
1

İlk veritabanımı çoğaltma ile kurmaya çalışıyorum. Yerel örneğimi birincil ve test sunucusu olarak ikincil olarak kullanacaktım. İşler yoluna girdiğinde, tüm kopyaları sıfırlamak ve sıfırdan başlamak istiyorum. Sadece kullanarak çoğaltma üyelerini kaldırmak için umuyordum: Her üyesindeBir mongodb örneğinden tüm çoğaltma nasıl kaldırılır?

rs.remove("some.server.com:27017") 

ama hata alıyorum:

rs.remove("some.server.com:27017", {force: true}) 

: Sonra kuvvet özellik ekleyerek çalıştı

replSetReconfig should only be run on PRIMARY, but my state is REMOVED; use the "force" argument to override

ama aynı mesajı aldım. Bu işe yaramış olsa bile, çoğaltma kurulumumu tamamen sıfırlayabilir mi?

Bir mongodb örneğinde ayarlanmış olan herhangi bir çoğaltmanın tamamen sıfırlanmasının doğru yolu nedir?

+0

de çok bilgi sahibi 'için mongod örneğini kapatın mü kaldırmak istediğiniz üye? [doc] başına (https://docs.mongodb.org/manual/tutorial/remove-replica-set-member/#remove-a-member-using-rs-remove) – zangw

cevap

1

Ben genellikle aşağıdaki adımları izleyerek bunu.

  1. Çoğaltma kümesi yapılandırması alın. rs.config()

  2. Tüm üyeleri birincil dışında yapılandırmadan kaldırın.

  3. rs.reconfig (updated_config) tüm belgeler system.replset oluşturan

  4. kaldır ->db["system.replset"].deleteMany({})

görün MongoDb website

+0

Evet, her şeyi silmek zorunda kaldım. 'system.replset' başka hiçbir şey beni bir kare geri almak için görünüyordu. –

0

Birincil örneğinden remove komutlarını (yerel örneği olduğunu söyledi hangi. Birincil örneği daha sonra ikincil o RS artık parçasıdır söyleyecektir.

süre önce bir ayırmak durumunda çalıştırmak için gereken örneğinden kopyasının kopyasındaki kopyasının verileri saklayabilmesi için, bu verileri koparılmış ikincil sunucudan kaldırmanız gerekir. Bunu, veri dizininin içeriğini silerek yapabilirsiniz (/ var/lib/mongodb/i think)

Resync Replica Set Member

İlgili konular