MongoDB运维备忘录
MongoDB运维备忘录
-
環境
AWS EC2
構成: Primary / Secondary / Arbiter
OS: Amazon Linux
MongoDB: 2.6.11
在MongoDB的环中添加或删除节点
-
構成からノードを外すコマンド(MongoDBのプライマリで実行
>rs.remove(“
追加したノードをセカンダリから同期をする場合
> SECONDARY> rs.syncFrom(“
不要になるMongoDBを切り離す
下記のコマンドはPrimaryで実行する
$ rs.remove(“
进行主/次要权重设置
Priorityの設定
0 – 1000 の値で値が高い方が優先してプライマリに昇格する
優先度が高いほうがプライマリとして動作する
Configをセット
> cfg = rs.conf()
配列の数字は_idを入れる( 0は絶対にPrimaryにならない状態になる)
プライオリティを10にセット
> cfg.members[1].priority = 50
設定を反映する
> rs.reconfig(cfg)
反映後の設定を確認する
> rs.conf()
testRep1:SECONDARY> rs.conf()
{
"_id" : "testRep1",
"version" : 11,
"members" : [
{
"_id" : 0,
"host" : "172.31.2.198:27017",
"arbiterOnly" : true
},
{
"_id" : 1,
"host" : "172.31.7.138:27017",
"priority" : 50
},
{
"_id" : 2,
"host" : "172.31.2.117:27017",
"priority" : 30
}
]
}
删除慢查询
> db.currentOp()
実行中のクエリを表示する
“desc” : “repl writer worker ”
レプリカのためのクエリなので削除してはいけない
> db.killOp(opid)
クエリを削除する
关于oplog
我方先前提到了一种示例流程,但实际上,只要将出现故障的实例恢复到在线状态,数据就会自动同步。
这需要满足一定条件,即恢复在线的MongoDB的oplog集合中存储的同步数据不会过时。oplog集合是一种有容量限制的集合,当超过预定大小的数据被投入时,旧数据会被按顺序删除。
-
oplogを確認する
PRIMARY> db.getReplicationInfo()