Untuk mengikuti, Anda memerlukan tiga node komputasi. Anda dapat meluncurkan node komputasi sesuai permintaan di E2E Public Cloud. Klik di sini untuk mengetahui lebih banyak .
Sebagai bagian dari 3 node MongoDB Cluster ini, satu node akan menjadi node primer dan dua lainnya akan menjadi node sekunder.
Manfaat dari pengaturan ini adalah membantu Anda mengatasi satu titik kegagalan. Ketika node utama turun, node sekunder bertindak sebagai primer; dengan demikian, memastikan ketersediaan tinggi.
Ikuti langkah-langkah di bawah ini untuk menyiapkan cluster MongoDB 3 node:
Perbarui dan tingkatkan semua 3 node (ubuntu 16.04):
$ sudo apt-get update $ sudo apt-get upgrade
Penginstalan MongoDB:
$sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 $echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list $sudo apt-get update $sudo apt-get install -y mongodb-org=4.0.10 mongodb-org-server=4.0.10 mongodb-org-shell=4.0.10 mongodb-org-mongos=4.0.10 mongodb-org-tools=4.0.10
Siapkan hostname &hostentry di semua 3 node:
$ sudo vim /etc/hosts ````````` 172.16.1.x test-mongo-1 172.16.2.x test-mongo-2 172.16.3.x test-mongo-3 ```````` $hostname test-mongo1 $ sudo vim /etc/hostname `````` test-mongo-1 ```````
Tetapkan nama host yang sesuai di semua 3 node
Jika server berasal dari E2E Cloud, maka hapus 05-hostname 02-ssh_public_key dari direktori /etc/one-context.d/
Buat file Key dan salin ke 2 node lainnya:
$ sudo cd /etc/ $ sudo mkdir mongo $ cd $ sudo openssl rand -base64 756 > /etc/mongo/mongo-keyfile $ sudo cd /etc/mongo/ $ sudo chmod 400 mongo-keyfile $ sudo chown mongodb:mongodb /etc/mongo -R $ cd $ sudo rsync -avrP /etc/mongo [email protected]:/etc/ $ sudo rsync -avrP /etc/mongo [email protected]:/etc/
Tambahkan bagian Replikasi di mongodb.conf di semua 3 node:
replication: replSetName: mongo-cluster enableMajorityReadConcern: true
Mulai dan periksa status mongodb di ketiga node:
$ sudo service mongod start $ sudo service mongod status
Pastikan mongodb dimulai pada semua 3 node.
Ubah alamat pengikatan MongoDB ke ip pribadi server di ketiga node:
$ sudo vim /etc/mongod.conf # network interfaces net: port: 27017 bindIp: 172.16.1.x $ sudo service mongod restart
Masuk ke Mongodb pada salah satu simpul:
$ mongo -host 172.16.1.x $ config = { _id : "mongo-cluster", members : [ {_id : 0, host : "test-mongo-1:27017"}, {_id : 1, host : "test-mongo-2:27017"}, {_id : 2, host : "test-mongo-3:27017"}, ] } $ rs.initiate(config)
Catatan:Setelah beberapa waktu, mesin ini (dari mana perintah yang dijalankan akan menjadi yang utama – Anda dapat keluar dari MongoDB dan masuk untuk memeriksa yang sama)
Sekarang buat DB admin &maindatabase dan pengguna untuk mengakses DB:
$ use admin $ db.createUser({ user: "admin", pwd: "E580nOOUE6cDhQ", roles: [{ role: "root", db: "admin" }] }) $ stagedatabase $ db.createUser({ user: "stage", pwd: "4n1PdUKkyoU9wcTNW", roles: [{ role: "dbOwner", db: "maindatabase" }] })
Tambahkan bagian keamanan di mongod.conf di semua 3 node:
security: keyFile: /etc/mongo/mongo-keyfile clusterAuthMode: keyFile authorization: enabled
Mulai ulang dan periksa status mongodb di ketiga node:
$ sudo service mongod restart $ sudo service mongod status
Masuk ke Mongodb dengan kredensial:
$ mongo -host 172.16.1.x admin -u admin -p'E580nOOUE6cDhQ'
Masuk ke Mongodb dengan database panggung pengguna lain:
mongo 172.16.1.x:27017/maindatabase -u stage -p 4n1PdUKkyoU9wcTNW
Sekarang pengaturan selesai.