Linux下MongoDB叢集之建立並配置副本叢集
阿新 • • 發佈:2018-12-26
案例演示:
一、在linux環境下,在一臺機器上建立3個節點,建立一個測試為目的的副本集
1.首先建立3個不同的資料儲存資料夾
[[email protected] db]# cd /usr/local/mongodb/data/db
[[email protected] db]# mkdir rs0-0
[[email protected] db]# mkdir rs0-1
[[email protected] db]# mkdir rs0-2
[[email protected] db]# ls
rs0-0 rs0-1 rs0-2
2.分別開啟3個終端,啟動3個mongod服務
[ [email protected] db]# mongod --port 27017 --dbpath=rs0-0 -replSet rs0
[[email protected] db]# mongod --port 27018 --dbpath=rs0-1 -replSet rs0
[[email protected] db]# mongod --port 27019 --dbpath=rs0-2 -replSet rs0
3.開啟第4個終端,驗證mongod服務是否啟動成功
二、叢集初始化
1.啟動客戶端,登入一個機器
[[email protected] ~]# mongo --port 27017
2.初始化叢集
> rs.initiate()
{
"info2" : "no configuration specified. Using a default configuration for the set",
"me" : "wugenqiang.bigdata:27017",
"ok" : 1
}
3.為叢集增加節點
rs0:SECONDARY> rs.add("wugenqiang.bigdata:27018")
{ "ok" : 1 }
rs0:PRIMARY> rs.add("wugenqiang.bigdata:27019")
{ "ok" : 1 }
操作時請將wugenqiang.bigdata換成您自己的真實主機名hostname
4.檢視叢集配置資訊
rs0:PRIMARY> rs.conf()
{
"_id" : "rs0",
"version" : 3,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "wugenqiang.bigdata:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "wugenqiang.bigdata:27018",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "wugenqiang.bigdata:27019",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : 60000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5b48831fbcf017394d5a56d4")
}
}
5.檢視叢集狀態
rs0:PRIMARY> rs.status
function () {
return db._adminCommand("replSetGetStatus");
}
至此建立副本叢集以及初始化完成