MongoDB Replikasi: Cara Membuat MongoDB Set Replika
โก Ringkasan Cerdas
MongoDB Replikasi menyimpan data identik di lebih dari satu tempat. MongoDB server, melindungi dari kegagalan server dan memungkinkan penyeimbangan beban. Dikelompokkan MongoDB Instance-instance tersebut membentuk set replika dengan satu anggota utama yang menerima operasi penulisan dan anggota sekunder yang menangani operasi pembacaan dan failover.
Apa itu MongoDB Replikasi?
Replikasi mengacu pada proses memastikan bahwa data yang sama tersedia di lebih dari satu tempat. MongoDB Server. Ini terkadang diperlukan untuk meningkatkan ketersediaan data.
Karena jika utama Anda MongoDB Server mati karena alasan apa pun, tidak akan ada akses ke data. Namun jika Anda memiliki data yang direplikasi ke server lain secara berkala, Anda akan dapat mengakses data dari server lain meskipun server utama gagal.
Tujuan lain dari replikasi adalah kemungkinan penyeimbangan beban. Jika ada banyak pengguna yang terhubung ke sistem, alih-alih semua orang terhubung ke satu sistem, pengguna dapat terhubung ke beberapa server sehingga ada distribusi beban yang merata.
In MongoDB, berganda MongoDB Server dikelompokkan dalam himpunan yang disebut Himpunan Replika. Himpunan Replika akan memiliki server utama yang akan menerima semua operasi penulisan dari klien. Semua instance lain yang ditambahkan ke himpunan setelah ini akan disebut instance sekunder, yang dapat digunakan terutama untuk semua operasi pembacaan.
Cara Membuat Replika Set di MongoDB Menambahkan Anggota Pertama menggunakan rs.initiate()
Seperti disebutkan di bagian sebelumnya, untuk mengaktifkan replikasi, pertama-tama kita perlu membuat kumpulan replika MongoDB contoh.
Mari kita asumsikan bahwa dalam contoh kita, kita memiliki 3 server yang disebut ServerA, ServerB, dan ServerC. Dalam konfigurasi ini, ServerA akan menjadi server utama kita, dan ServerB serta ServerC akan menjadi server sekunder kita. Tangkapan layar di bawah ini akan memberikan gambaran yang lebih baik.
Di bawah ini adalah langkah-langkah yang perlu diikuti untuk membuat MongoDB himpunan replika beserta penambahan anggota pertama pada himpunan tersebut.
Langkah 1) Pastikan semua instance mongod.exe telah ditambahkan
Pastikan bahwa semua instance mongod.exe yang akan ditambahkan ke replica set diinstal pada server yang berbeda. Hal ini untuk memastikan bahwa meskipun satu server mati, server lain akan tetap tersedia, dan dengan demikian instance mongod.exe lainnya juga akan tetap berfungsi. MongoDB akan tersedia.
Langkah 2) Semua instance mongo.exe terhubung satu sama lain
Pastikan semua instance mongo.exe dapat terhubung satu sama lain. Dari ServerA, jalankan 2 perintah di bawah ini.
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
Demikian pula, lakukan hal yang sama dari server yang tersisa.
Langkah 3) Mulai instance mongod.exe pertama
Jalankan instance mongod.exe pertama dengan opsi replSet. Opsi ini menyediakan grup.ping untuk semua server yang akan menjadi bagian dari set replika ini.
mongo --replSet "Replica1"
Dimana โReplica1โ adalah nama kumpulan replika Anda. Anda dapat memilih nama apa pun yang bermakna untuk nama kumpulan replika Anda.
Langkah 4) Server pertama ditambahkan ke set replika
Setelah server pertama ditambahkan ke set replika, langkah selanjutnya adalah menginisialisasi set replika dengan mengeluarkan perintah berikut: rs.initiate().
Langkah 5) Verifikasi set replika
Verifikasi set replika dengan mengeluarkan perintah rs.conf() untuk memastikan set replika telah diatur dengan benar.
Kumpulan Replika: Menambahkan Sekunder menggunakan rs.add()
Server sekunder dapat ditambahkan ke kumpulan replika hanya dengan menggunakan perintah rs.add. Perintah ini mengambil nama server sekunder dan menambahkan server ke set replikasi.
Langkah 1) Misalkan Anda memiliki ServerA, ServerB, dan ServerC, yang wajib menjadi bagian dari set replika Anda, dan ServerA didefinisikan sebagai server utama dalam set replika tersebut.
Untuk menambahkan ServerB dan ServerC ke dalam replica set, jalankan perintah berikut:
rs.add("ServerB") rs.add("ServerC")
Kumpulan Replika: Mengonfigurasi Ulang atau Menghapus menggunakan rs.remove()
Untuk menghapus server dari set konfigurasi, kita perlu menggunakan perintah โrs.removeโ.
Langkah 1) Pertama-tama, lakukan shutdown pada instance yang ingin Anda hapus. Anda dapat melakukan ini dengan menjalankan perintah db.shutdownServer dari mongo shell.
Langkah 2) Hubungkan ke server utama.
Langkah 3) Gunakan perintah rs.remove untuk menghapus server yang diperlukan dari replica set. Jadi, misalkan Anda memiliki replica set dengan ServerA, ServerB, dan ServerC, dan Anda ingin menghapus ServerC dari replica set, jalankan perintah:
rs.remove("ServerC")
Memecahkan Masalah Kumpulan Replika
Berikut ini adalah beberapa cara yang dapat digunakan untuk mengatasi masalah yang muncul saat menggunakan replica set.
- Pastikan semua instance mongo.exe dapat terhubung satu sama lain. Misalkan Anda memiliki 3 server bernama ServerA, ServerB, dan ServerC. Dari ServerA, jalankan 2 perintah berikut:
mongo --host ServerB --port 27017 mongo --host ServerC --port 27017
- Jalankan perintah rs.status. Perintah ini memberikan status dari replica set. Secara default, setiap anggota akan saling mengirim pesan yang disebut pesan "heartbeat", yang hanya menunjukkan bahwa server aktif dan berfungsi. Perintah "status" mendapatkan status pesan-pesan ini dan menunjukkan apakah ada masalah dengan anggota mana pun dalam replica set.
- Periksa ukuran Oplog. Oplog adalah kumpulan di MongoDB yang menyimpan sejarah penulisan yang dilakukan pada MongoDB database. MongoDB kemudian menggunakan Oplog ini untuk mereplikasi penulisan ke anggota lain di kumpulan replika. Untuk memeriksa Oplog, sambungkan ke instance anggota yang diperlukan dan jalankan perintah rs.printReplicationInfo. Perintah ini akan menunjukkan ukuran log dan berapa lama ia dapat menyimpan transaksi dalam file lognya sebelum penuh.


