- <李>
- <李>
<代码> sh.enableSharding() 代码>
李> <李><代码> sh.shardCollection() 代码>
李> <李><代码> sh.addShard() 代码>
李> <李><代码> db.createCollection() 代码>
李> <李><代码> db.collection.drop() 代码>
李> <李><代码> db.dropDatabase() 代码>
李> <李>任何操作,创建一个数据库
李> <李>其他操作,以任何方式修改集群元数据。
李>
1,关闭均衡器
mongos>, db.setBalancerState(假);
2升级碎片
- <李>
升级其中一个次要成员
- <李>
关闭mongod实例,3.0命令替换成3.2
李> <李>重启该成员。等待该成员集群中的状态为二级后,再升级第二个二级
李>下台主节点。
李> <李>当rs.status()显示主节点已经是分片的其他成员,开始升级下台的主节点(此时,只是角色是次要的)
- <李>
关闭mongod实例,3.0命令替换成3.2
李> <李>重启
李>3升级配置服务器
升级配置服务器是有顺序的。如果启动蒙戈指定的配置服务器顺序如下
//mongod_config.conf 分片: ,,configDB: db-test01:20001, db-test02:20001, db-test03:20001
那么,升级的顺序为:db-test03→db-test02→db-test01
- <李>
关闭db-test03配置服务器,并且3.0命令替换成3.2
李> <李>启动3.2版本的配置服务器,指定configsvr和港口
- <李>
使用命令行启动
李>mongod ——configsvr ——port 20001,——dbpath /数据/mongodb配置
- <李>
- <李>
使用配置文件启动
分片: ,,clusterRole: configsvr net: ,,端口:20001 储存: ,才能dbpath:/数据/mongodb配置
依次重复启动其他configDB: db-test02, db-test01
4升级蒙戈实例
- <李>
无序的。替换3.2版本的蒙戈,重启(一个一个蒙戈做替换)
李>关闭蒙戈时,程序会有报的错。因为蒙戈关闭,当前连接会断掉,之后程序尝试连接关闭的蒙戈连不上会连接其他蒙戈(如有多个蒙戈节点且程序配置访问多个蒙戈),不影响业务。
5,开启均衡器
mongos>, db.setBalancerState(真正);
升级过程中,使用脚本每秒向数据库写一条数据。观察数据写入情况
//报错信息 WriteResult ({ ,,,,,,,,“nInserted”:, 0, ,,,,,,,,“writeError”:, { ,,,,,,,,,,,,,,,“代码”,:,94年, ,,,,,,,,,,,,,,,,“errmsg”:,“Request contains  sharding 元数据,,but 从而server has not been made sharding 意识到。” ,,,,,,,} })
可能原因:降压的未切换到其他节点,就将节点关闭了。