溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么搭建一個(gè)MongoDB 副本集

發(fā)布時(shí)間:2021-03-25 15:35:08 來(lái)源:億速云 閱讀:138 作者:Leah 欄目:開發(fā)技術(shù)

怎么搭建一個(gè)MongoDB 副本集?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

1、創(chuàng)建節(jié)點(diǎn)目錄

mkdir -p /data/mongo_28018/{data,log}
mkdir -p /data/mongo_28019/{data,log}
mkdir -p /data/mongo_28020/{data,log}

2、創(chuàng)建配置文件,配置文件內(nèi)容如下:

storage:
  dbPath: /data/mongo_28018/data
  journal:
    enabled: true

systemLog:
  destination: file
  path: /data/mongo_28018/log/mongodb.log
  logAppend: true

#security:
  #authorization: enabled          ## 測(cè)試環(huán)境關(guān)閉認(rèn)證,正式環(huán)境需要開啟認(rèn)證

processManagement:
  fork: true

net:
  port: 28018
  bindIp: 127.0.0.1

replication:
  replSetName: yeyz_repl0

這里需要注意,配置文件路徑一般在對(duì)應(yīng)的Mongodb目錄下面,每個(gè)配置文件端口都不一樣,需要自行調(diào)整。

我們搭建的副本集的名字叫做yeyz_repl0

3、啟動(dòng)三個(gè)實(shí)例

mongod -f /data/mongo_28018/mongodb.conf 
mongod -f /data/mongo_28019/mongodb.conf 
mongod -f /data/mongo_28020/mongodb.conf

4、初始化集群

    使用mongo --port=xxxxx登錄到實(shí)例上,初始化副本集

use admin
rs.initiate(
{_id:"yeyz_repl0",
"members":[
                {
                    "_id":1,
                    "host":"127.0.0.1:28018"
                },
                {
                    "_id":2,
                    "host":"127.0.0.1:28019"
                },
                {
                    "_id":3,
                    "host":"127.0.0.1:28020",
                    "arbiterOnly":true
                }
            ]
})

5、登錄到實(shí)例上,使用rs.conf查看實(shí)例狀態(tài)。

6、添加副本集認(rèn)證

6.1 生成一個(gè)keyFile
openssl rand -base64 756 > keyFile
修改keyFile的權(quán)限為400
chmod 400 keyFile
6.2 拷貝到各個(gè)文件夾下/data/mongoxxxxx/
6.3 修改配置文件,添加security項(xiàng):
security:
  keyFile: /data/mongo_28018/keyFile
6.4 重啟即可

7、登錄到其中一臺(tái)節(jié)點(diǎn)上,添加默認(rèn)賬號(hào)即可

db.createUser({user:"mongod",pwd:"mongod",roles:[{role:"root",db:"admin"}]})

8、登錄到任意一臺(tái)上面,查看結(jié)果:

[root@VM-0-14-centos data]# repls_login 28019
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:28019/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cfaeea74-6371-4128-83ff-bf94c01f5f78") }
MongoDB server version: 4.0.6
yeyz_repl0:PRIMARY> 
yeyz_repl0:PRIMARY>

關(guān)于怎么搭建一個(gè)MongoDB 副本集問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI