mongodb在线添加移除新的分片复制集.docx
- 文档编号:11785883
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:15
- 大小:17.59KB
mongodb在线添加移除新的分片复制集.docx
《mongodb在线添加移除新的分片复制集.docx》由会员分享,可在线阅读,更多相关《mongodb在线添加移除新的分片复制集.docx(15页珍藏版)》请在冰豆网上搜索。
mongodb在线添加移除新的分片复制集
前面添加新的分片复制集因为版本不一致无法兼容,见:
1、在master2上建立3个mongodb
准备3个mongodb进程数,先准备数据目录和日志目录:
mkdir-p/data/mongodb/shard37017
mkdir-p/data/mongodb/shard37027
mkdir-p/data/mongodb/shard37037
mkdir-p/data/mongodb/logs
3个启动命令:
/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37017--dbpath/data/mongodb/shard37017--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37017.log--logappend--fork
/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37027--dbpath/data/mongodb/shard37027--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37027.log--logappend--fork
/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37037--dbpath/data/mongodb/shard37037--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37037.log--logappend--fork
PS:
启动mongodb进程可能会卡住,比较慢,不过需要耐心等待,ps-eaf|grepmongodb可能会有好几一个一样的进程在跑(比如37037端口),不过这只是暂时的,没有关系,等一会启动完成了后,就会只有一个37037的端口在运行:
#会有2个37037的端口在运行着
[root@db_master_2~]#ps-eaf|grepmongo
root52721752021:
27pts/000:
00:
00su-mongodb
mongodb5272252721021:
27pts/000:
00:
00-bash
mongodb563681021:
36?
00:
00:
00/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37017--dbpath/data/mongodb/shard37017--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37017.log--logappend--fork
mongodb564211021:
36?
00:
00:
00/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37027--dbpath/data/mongodb/shard37027--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37027.log--logappend--fork
mongodb5647352722121:
36pts/000:
00:
00/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37037--dbpath/data/mongodb/shard37037--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37037.log--logappend--fork
mongodb5647456473021:
36?
00:
00:
00/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37037--dbpath/data/mongodb/shard37037--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37037.log--logappend--fork
mongodb56475564741721:
36?
00:
00:
01/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37037--dbpath/data/mongodb/shard37037--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37037.log--logappend--fork
root5648955041021:
36pts/100:
00:
00grepmongo
[root@db_master_2~]#
#过了一段时间后,等项目启动完后,进程数目变成了正常的3个了。
[root@db_master_2~]#
[root@db_master_2~]#ps-eaf|grepmongo
root52721752021:
27pts/000:
00:
00su-mongodb
mongodb5272252721021:
27pts/000:
00:
00-bash
mongodb563681021:
36?
00:
00:
03/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37017--dbpath/data/mongodb/shard37017--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37017.log--logappend--fork
mongodb564211021:
36?
00:
00:
03/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37027--dbpath/data/mongodb/shard37027--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37027.log--logappend--fork
mongodb564751021:
36?
00:
00:
05/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongod--shardsvr--replSetshard3--port37037--dbpath/data/mongodb/shard37037--oplogSize2048--logpath/data/mongodb/logs/shard_m2_37037.log--logappend--fork
root6146055041021:
49pts/100:
00:
00grepmongo
[root@db_master_2~]#
2、初始化新的分片集
#设置新的分片
>config={_id:
"shard3",members:
[
{_id:
0,host:
"mongodb_shard3:
37017",priority:
1},
{_id:
1,host:
"mongodb_shard3:
37027",priority:
2},
{_id:
2,host:
"mongodb_shard3:
37037",arbiterOnly:
true}
]
};
#初始化副本集
>rs.initiate(config);
#执行过程如下:
[mongodb@db_master_2~]$/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongomongodb_shard3:
37017/admin
MongoDBshellversion:
2.4.4
connectingto:
mongodb_shard3:
37017/admin
Serverhasstartupwarnings:
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]**WARNING:
/sys/kernel/mm/transparent_hugepage/enabledis'always'.
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]**Wesuggestsettingitto'never'
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]**WARNING:
/sys/kernel/mm/transparent_hugepage/defragis'always'.
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]**Wesuggestsettingitto'never'
2016-07-08T17:
39:
51.888+0800ICONTROL[initandlisten]
>
>config={_id:
"shard3",members:
[
...{_id:
0,host:
"mongodb_shard3:
37017",priority:
1},
...{_id:
1,host:
"mongodb_shard3:
37027",priority:
2},
...{_id:
2,host:
"mongodb_shard3:
37037",arbiterOnly:
true}
...]
...};
{
"_id":
"shard3",
"members":
[
{
"_id":
0,
"host":
"mongodb_shard3:
37017",
"priority":
1
},
{
"_id":
1,
"host":
"mongodb_shard3:
37027",
"priority":
2
},
{
"_id":
2,
"host":
"mongodb_shard3:
37037",
"arbiterOnly":
true
}
]
}
>rs.initiate(config);
{"ok":
1}
shard3:
OTHER>
3、mongos上在线添加新的分片shard3
添加命令:
db.runCommand({addshard:
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037"});
[mongodb@db_m1_slave_1logs]$/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongomongodbs1:
30000/admin
MongoDBshellversion:
2.4.4
connectingto:
localhost:
30000/admin
mongos>db.runCommand({addshard:
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037"});
{"shardAdded":
"shard1","ok":
1}
mongos>
db.runCommand({addShard:
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037",maxSize:
0,name:
"shard3"});
sh.addShard("shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037")
执行过程如下:
[mongodb@db_master_2~]$/usr/local/mongodb-linux-x86_64-2.4.4/bin/mongomongodbs1:
30000/admin
MongoDBshellversion:
2.4.4
connectingto:
mongodbs1:
30000/admin
mongos>db.runCommand({addshard:
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037"});
{
"ok":
0,
"errmsg":
"couldn'tconnecttonewshardsocketexception[CONNECT_ERROR]forshard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037"
}
mongos>db.runCommand({removeShard:
"shard3"});
{
"msg":
"drainingstartedsuccessfully",
"state":
"started",
"shard":
"shard3",
"ok":
1
}
mongos>
4、添加移除分片过程
添加shard3报错:
mongos>db.runCommand({addshard:
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027,mongodb_shard3:
37037"});
{
"ok":
0,
"errmsg":
"E11000duplicatekeyerrorindex:
config.shards.$_id_dupkey:
{:
\"shard3\"}"
}
mongos>
查看下当前的sharding信息:
mongos>db.printShardingStatus();
---ShardingStatus---
shardingversion:
{
"_id":
1,
"version":
3,
"minCompatibleVersion":
3,
"currentVersion":
4,
"clusterId":
ObjectId("56eec856472f21af28119fdc")
}
shards:
{"_id":
"shard1","host":
"shard1/192.168.3.62:
27017,192.168.3.63:
27017"}
{"_id":
"shard2","host":
"shard2/192.168.3.62:
27018,192.168.3.63:
27018"}
{"_id":
"shard3","draining":
true,"host":
"shard3/mongodb_shard3:
37017,mongodb_shard3:
37027"}
databases:
{"_id":
"admin","partitioned":
false,"primary":
"config"}
{"_id":
"report","partitioned":
true,"primary":
"shard2"}
report.print
shardkey:
{"_id":
1}
chunks:
shard11
shard21
{"_id":
{"$minKey":
1}}-->>{"_id":
ObjectId("5517aac945ce6df1bdf8a508")}on:
shard1{"t":
2,"i":
0}
{"_id":
ObjectId("5517aac945ce6df1bdf8a508")}-->>{"_id":
{"$maxKey":
1}}on:
shard2{"t":
2,"i":
1}
{"_id":
"screen","partitioned":
true,"primary":
"shard2"}
{"_id":
"search","partitioned":
true,"primary":
"shard2"}
{"_id":
"traffice","partitioned":
true,"primary":
"shard2"}
{"_id":
"wifi","partitioned":
true,"primary":
"shard2"}
{"_id":
"nagios","partitioned":
true,"primary":
"shard2"}
nagios.last_primary_server
shardkey:
{"_id":
1}
chunks:
shard21
{"_id":
{"$minKey":
1}}-->>{"_id":
{"$maxKey":
1}}on:
shard2{"t":
1,"i":
0}
{"_id":
"office","partitioned":
true,"primary":
"shard1"}
office.guard
shardkey:
{"_id":
1}
chunks:
shard21
shard11
{"_id":
{"$minKey":
1}}-->>{"_id":
ObjectId("554dc72f45ce6df1be127ddc")}on:
shard2{"t":
2,"i":
0}
{"_id":
ObjectId("554dc72f45ce6df1be127ddc")}-->>{"_id":
{"$maxKey":
1}}on:
shard1{"t":
2,"i":
1}
{"_id":
"receivereceiptdata","partitioned":
true,"primary":
"shard2"}
{"_id":
"test","partitioned":
false,"primary":
"shard2"}
{"_id":
"app","partitioned":
false,"primary":
"shard2"}
{"_id":
"ibeacon","partitioned":
false,"primary":
"shard2"}
{"_id":
"leadvideo","partitioned":
false,"primary":
"shard2"}
{"_id":
"parking","partitioned":
false,"primary":
"shard2"}
{"_id":
"pos","partitioned":
false,"primary":
"shard2"}
{"_id":
"pv","partitioned":
false,"primary":
"shard1"}
{"_id":
"im","partitioned":
false,"primary":
"shard2"}
{"_id":
"queue","partitioned":
false,"primary":
"shard2"}
{"_id":
"receiveposinfodata","partitioned":
false,"primary":
"shard2"}
{"_id":
"db","partitioned":
false,"primary":
"shard2"}
{"_id":
"ibeancon","partitioned":
false,"primary":
"shard2"}
看到还有shard3的信息,再移除remove一次试试看:
mongos>db.runCommand({removeShard:
"shard3"});
{
"msg":
"removeshardcompletedsuccessfully",
"state":
"completed",
"shard":
"shard3",
"ok":
1
}
mongos>
再查看Shard信息,没有了shard3的信息了
mongos>db.printShardingStatus();
---ShardingStatus---
shardingversion:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mongodb 在线 添加 分片 复制