MongoDB三節(jié)點(diǎn)副本集集群搭建

準(zhǔn)備

1吓蘑、JDK8
2挣柬、MongoDB安裝包
3拴曲、在華為云上申請(qǐng)三個(gè)ECS節(jié)點(diǎn),內(nèi)外IP分別是192.168.0.19凛忿、192.168.0.6澈灼、192.168.0.37


image.png

1、安裝JDK

分別在三臺(tái)機(jī)器上安裝JDK
在/home目錄下面創(chuàng)建mongodb文件夾店溢,并把jdk和mongodb的安裝包上傳到文件夾下面叁熔。解壓jdk,然后在/etc/profile文件最后添加環(huán)境變量

tar -xzvf jdk-8u281-linux-x64.tar.gz
vi /etc/profile

文件內(nèi)容:

export JAVA_HOME=/home/mongodb/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

檢查jdk是否安裝成功

source /etc/profile
java -version

安裝成功顯示如下

java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

2床牧、安裝mongodb集群
在/home/mongodb下面解壓mongodb壓縮包荣回,添加環(huán)境變量

tar -xzvf mongodb-linux-x86_64-3.6.22.tgz
echo 'export PATH=$PATH:/home/mongodb/mongodb-linux-x86_64-3.6.22/bin'  >> /etc/profile
source /etc/profile

創(chuàng)建data目錄和log目錄,添加配置文件

mkdir data
mkdir log
vi mongodb.conf

配置文件信息

dbpath=/home/mongodb/data/
logpath=/home/mongodb/log/mongodb.log
pidfilepath=/home/mongodb/mongodb.pid
directoryperdb=true
logappend=true
replSet=mymongodb
bind_ip=0.0.0.0
port=27017
oplogSize=10000
fork=false

參數(shù)解釋?zhuān)?br> dbpath:數(shù)據(jù)存放目錄
logpath:日志存放路徑
pidfilepath:進(jìn)程文件,方便停止mongodb
directoryperdb:為每一個(gè)數(shù)據(jù)庫(kù)按照數(shù)據(jù)庫(kù)名建立文件夾存放
logappend:以追加的方式記錄日志
replSet:replica set的名字
bind_ip:mongodb所綁定的ip地址
port:mongodb進(jìn)程所使用的端口號(hào)戈咳,默認(rèn)為27017
oplogSize:mongodb操作日志文件的最大大小心软。單位為Mb壕吹,默認(rèn)為硬盤(pán)剩余空間的5%
fork:以后臺(tái)方式運(yùn)行進(jìn)程
noprealloc:不預(yù)先分配存儲(chǔ)

啟動(dòng)mongodb,分別在三個(gè)節(jié)點(diǎn)上執(zhí)行下面命令

mongod -f /home/mongodb/mongodb.conf

啟動(dòng)成功信息如下所示

about to fork child process, waiting until server is ready for connections.
forked process: 1659
child process started successfully, parent exiting

連接數(shù)據(jù)庫(kù)

mongo --host 192.168.0.19 --port 27017

切換數(shù)據(jù)庫(kù):

use admin

初始化復(fù)制集:

rs.initiate({_id:"mymongodb",members:[{_id:0,host:"192.168.0.19:27017"},{_id:1,host:"192.168.0.6:27017"}, {_id:2,host:"192.168.0.37:27017"}]})

其中_id:"mymongodb"的mymongodb是上面config.conf配置文件里的復(fù)制集名稱删铃,把三臺(tái)服務(wù)器的配置服務(wù)組成復(fù)制集耳贬。
過(guò)十多秒后查看狀態(tài):

rs.status()

執(zhí)行上面的命令查看狀態(tài),三臺(tái)機(jī)器的配置服務(wù)就已形成復(fù)制集猎唁,其中1臺(tái)為PRIMARY咒劲,其他2臺(tái)為SECONDARY

{
        "set" : "mymongodb",
        "date" : ISODate("2021-03-18T17:07:19.075Z"),
        "myState" : 1,
        "term" : NumberLong(1),
        "syncingTo" : "",
        "syncSourceHost" : "",
        "syncSourceId" : -1,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1616087239, 1),
                        "t" : NumberLong(1)
                },
                "readConcernMajorityOpTime" : {
                        "ts" : Timestamp(1616087239, 1),
                        "t" : NumberLong(1)
                },
                "appliedOpTime" : {
                        "ts" : Timestamp(1616087239, 1),
                        "t" : NumberLong(1)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1616087239, 1),
                        "t" : NumberLong(1)
                }
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.0.19:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 43,
                        "optime" : {
                                "ts" : Timestamp(1616087229, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1616087229, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-03-18T17:07:09Z"),
                        "optimeDurableDate" : ISODate("2021-03-18T17:07:09Z"),
                        "lastHeartbeat" : ISODate("2021-03-18T17:07:17.254Z"),
                        "lastHeartbeatRecv" : ISODate("2021-03-18T17:07:18.126Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "192.168.0.37:27017",
                        "syncSourceHost" : "192.168.0.37:27017",
                        "syncSourceId" : 2,
                        "infoMessage" : "",
                        "configVersion" : 1
                },
                {
                        "_id" : 1,
                        "name" : "192.168.0.6:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 43,
                        "optime" : {
                                "ts" : Timestamp(1616087229, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1616087229, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-03-18T17:07:09Z"),
                        "optimeDurableDate" : ISODate("2021-03-18T17:07:09Z"),
                        "lastHeartbeat" : ISODate("2021-03-18T17:07:17.253Z"),
                        "lastHeartbeatRecv" : ISODate("2021-03-18T17:07:18.108Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "192.168.0.37:27017",
                        "syncSourceHost" : "192.168.0.37:27017",
                        "syncSourceId" : 2,
                        "infoMessage" : "",
                        "configVersion" : 1
                },
                {
                        "_id" : 2,
                        "name" : "192.168.0.37:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 352,
                        "optime" : {
                                "ts" : Timestamp(1616087239, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-03-18T17:07:19Z"),
                        "syncingTo" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "could not find member to sync from",
                        "electionTime" : Timestamp(1616087207, 1),
                        "electionDate" : ISODate("2021-03-18T17:06:47Z"),
                        "configVersion" : 1,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                }
        ],
        "ok" : 1,
        "operationTime" : Timestamp(1616087239, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1616087239, 1),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诫隅,隨后出現(xiàn)的幾起案子腐魂,更是在濱河造成了極大的恐慌,老刑警劉巖逐纬,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛔屹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡豁生,警方通過(guò)查閱死者的電腦和手機(jī)判导,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沛硅,“玉大人眼刃,你說(shuō)我怎么就攤上這事∫〖。” “怎么了擂红?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)围小。 經(jīng)常有香客問(wèn)我昵骤,道長(zhǎng),這世上最難降的妖魔是什么肯适? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任变秦,我火速辦了婚禮,結(jié)果婚禮上框舔,老公的妹妹穿的比我還像新娘蹦玫。我一直安慰自己,他們只是感情好刘绣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布樱溉。 她就那樣靜靜地躺著,像睡著了一般纬凤。 火紅的嫁衣襯著肌膚如雪福贞。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天停士,我揣著相機(jī)與錄音挖帘,去河邊找鬼完丽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拇舀,可吹牛的內(nèi)容都是我干的逻族。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼你稚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了朱躺?” 一聲冷哼從身側(cè)響起刁赖,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎长搀,沒(méi)想到半個(gè)月后宇弛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡源请,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年枪芒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谁尸。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舅踪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出良蛮,到底是詐尸還是另有隱情抽碌,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布决瞳,位于F島的核電站货徙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏皮胡。R本人自食惡果不足惜痴颊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屡贺。 院中可真熱鬧蠢棱,春花似錦、人聲如沸甩栈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谤职。三九已至饰豺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間允蜈,已是汗流浹背冤吨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工蒿柳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漩蟆。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓垒探,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親怠李。 傳聞我的和親對(duì)象是個(gè)殘疾皇子圾叼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容