Cara mengatur ulang pengaturan set replika MongoDB

16

Saya ingin memulai konfigurasi replika, apakah mungkin? Bagaimana cara meresetnya?

Dalam kelompok, orang mengatakan untuk menghapus konten basis data, tetapi apakah ada cara lain?

Ryan
sumber

Jawaban:

19

Jika Anda ingin menyimpan data, tetapi mulai di luar set replika, cukup restart proses mongod tanpa --replSetdan pada port yang berbeda. Itu akan memberi Anda mongod mandiri.

Untuk sepenuhnya yakin bahwa konfigurasi set replika hilang dari instance, pastikan bahwa local.system.replsetkoleksi kosong.

Setelah selesai, dan Anda puas dengan contoh mandiri Anda, Anda dapat memulai kembali dengan --replSetargumen yang berbeda dan melalui proses konfigurasi set replika lagi:

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

Opsi lainnya, seperti yang Anda sebutkan, adalah menghapus semua file data dan mulai sepenuhnya dari awal.

Adam C
sumber
// mulai server pada port yang berbeda dari yang ditugaskan tetapi dengan folder Db yang sama. terhubung melalui klien mongoi ke port baru: gunakan db.system.replset.remove lokal ({"_ id": "replset"}) // ubah replset dalam tanda kutip dengan nama Anda? db.system.replset.find () db.adminCommand ({shutdown: 1}) // lalu mulai kembali di port lain
tgkprog
5

Anda tidak perlu menghapus file database apa pun untuk mereset konfigurasi set replika Anda.

Untuk mengatur ulang konfigurasi, pastikan setiap node dalam set replika Anda dihentikan. Kemudian hapus database "lokal" untuk setiap node.

Setelah Anda yakin semua node tidak berjalan dan database "lokal" hilang, mulai proses mongod lagi (tentu saja menggunakan flag --replSet). Kemudian jalankan rs.initiate ().

akskung
sumber
4
  1. Pergi ke mongo shell di server sekunder

  2. Hentikan server sekunder dengan menggunakan perintah di bawah ini:

    use admin
    db.shutdownServer()
    
  3. pergi ke shell mongo primer dan ketik perintah di bawah ini:

    rs.remove()
    

    untuk memeriksa status, gunakan rs.status()

Untuk informasi lebih lanjut, silakan periksa tautan di bawah ini: http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

Shrinivas Kalangutkar
sumber
1
  1. edit /etc/mongod.confdan komentarireplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. pada mongo primer: rs.add("this node")
  6. edit /etc/mongod.confdan batalkan komentar padareplication: block
  7. service mongod restart

Node Anda akan ditambahkan ke set replika yang ada dan akan mulai menyinkronkan ke primer yang ada

blueheart_2
sumber