mongodb 副文本集搭建、启停脚本——2018年(含)之前整理三

125 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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

如有不会可以参考