本文已参与「新人创作礼」活动,一起开启掘金创作之路。
mongodb
mongodb 副文本集搭建
1.每台机器都执行
tar -zxvfmongodb-linux-x86_64-amazon-3.4.2.tgz
mv mongodb-linux-x86_64-amazon-3.4.2mongodb
cd mongodb
mkdir data //创建 dbpath
//启动mongodb
bin/mongod --dbpath /usr/local/mongodb/data--replSet peterReplset --logpath /usr/local/mongodb/log --fork
2.任选一台机器 执行
.mongo\
> use admin\
switched to db admin
> config={ _id:"peterReplset", members:[
... {_id:0,host:"192.168.188.170:27017"},
... {_id:1,host:"192.168.188.171:27017"},
... {_id:2,host:"192.168.188.172:27017"}
... ]}
{
"_id" : "peterReplset",
"members" : [
{
"_id" : 0,
"host" : "192.168.188.170:27017"
},
{
"_id" : 1,
"host" : "192.168.188.171:27017"
},
{
"_id" : 2,
"host" : "192.168.188.172:27017"
}
]
}> rs.initiate(config)
{ "ok" : 1 }
peterReplset:SECONDARY> rs.status()
{
"set" : "peterReplset",
"date" : ISODate("2018-02-02T06:44:11.073Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "192.168.188.170:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 518,
"optime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-02-02T06:44:03Z"),
"infoMessage" : "could not find member to sync from",
"electionTime" : Timestamp(1517553792, 1),
"electionDate" : ISODate("2018-02-02T06:43:12Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 1,
"name" : "192.168.188.171:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 69,
"optime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-02-02T06:44:03Z"),
"optimeDurableDate" : ISODate("2018-02-02T06:44:03Z"),
"lastHeartbeat" : ISODate("2018-02-02T06:44:10.491Z"),
"lastHeartbeatRecv" : ISODate("2018-02-02T06:44:10.375Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "192.168.188.172:27017",
"configVersion" : 1
},
{
"_id" : 2,
"name" : "192.168.188.172:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 69,
"optime" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1517553843, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-02-02T06:44:03Z"),
"optimeDurableDate" : ISODate("2018-02-02T06:44:03Z"),
"lastHeartbeat" : ISODate("2018-02-02T06:44:10.508Z"),
"lastHeartbeatRecv" : ISODate("2018-02-02T06:44:10.347Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "192.168.188.170:27017",
"configVersion" : 1
}
],
"ok" : 1
}
mongodb 副文本搭建脚本
cid=pdmi\
ip1=192.168.1.170:27017
ip2=192.168.1.171:27017
ip3=192.168.1.172:27017
\
tar -zxvf mongodb-linux-x86_64-amazon-3.4.2.tgz -C /usr/local
cd /usr/local/
mv /usr/local/mongodb-linux-x86_64-amazon-3.4.2 /usr/local/mongodb
mkdir /usr/local/mongodb/data
\
/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork
scp -r /usr/local/mongodb root@${ip2%:*}:/usr/local/
scp -r /usr/local/mongodb root@${ip3%:*}:/usr/local/
ssh -t -p 22 root@${ip2%:*} "/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork"
ssh -t -p 22 root@${ip3%:*} "/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork"
\
echo "rs.initiate({ _id:'$cid', members:[ {_id:0,host:'$ip1'}, {_id:1,host:'$ip2'}, {_id:2,host:'$ip3'}]})" | /usr/local/mongodb/bin/mongo admin
mongodb 副文本集 启停脚本
#start
cid=pdmi
ip1=10.30.55.87:27017
ip2=10.30.55.88:27017
ip3=10.30.55.89:27017
\
/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork
ssh -t -p 22 root@${ip2%:*} "/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork"
ssh -t -p 22 root@${ip3%:*} "/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --replSet $cid --logpath /usr/local/mongodb/log --fork"\
#stop
ip_array=("10.30.55.87" "10.30.55.88" "10.30.55.89")
cid=pdmi
for ip in ${ip_array[*]}
do
ssh -t -p 22 root@$ip "echo 'db.shutdownServer()' | /usr/local/mongodb/bin/mongo admin"
done
如有不会可以参考