mongodb在线添加移除新的分片复制集.docx

上传人:b****5 文档编号:11785883 上传时间:2023-04-01 格式:DOCX 页数:15 大小:17.59KB
下载 相关 举报
mongodb在线添加移除新的分片复制集.docx_第1页
第1页 / 共15页
mongodb在线添加移除新的分片复制集.docx_第2页
第2页 / 共15页
mongodb在线添加移除新的分片复制集.docx_第3页
第3页 / 共15页
mongodb在线添加移除新的分片复制集.docx_第4页
第4页 / 共15页
mongodb在线添加移除新的分片复制集.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

mongodb在线添加移除新的分片复制集.docx

《mongodb在线添加移除新的分片复制集.docx》由会员分享,可在线阅读,更多相关《mongodb在线添加移除新的分片复制集.docx(15页珍藏版)》请在冰豆网上搜索。

mongodb在线添加移除新的分片复制集.docx

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:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1