mongo 3.4分片集群系列之七:配置数据库管理
这个系列大致想跟大家分享以下篇章:
2、mongo 3.4分片集群系列之二:搭建分片集群--哈希分片
3、mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全
4、mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 区域
这篇为实践篇。
这篇主要讲述如何复制一个配置服务器,替换一个配置服务器。
1、使用配置数据库要知道的事
如果配置服务器副本集变为只读,即没有主成员,则分片集群不能支持更改集群元数据的操作,例如块拆分和迁移。虽然不能拆分或迁移块,但应用程序能够将数据写入分片集群。
2、复制一个配置服务器的步骤
说明:副本集名称是“mongo_config”,现在副本集有三个成员,mongo_config1(192.168.209.155:6000)(主成员),mongo_config2(192.168.209.155:6001),mongo_config3(192.168.209.155:6002)。
现在加入要用mongo_config4(192.168.209.155:6003),替换mongo_config3(192.168.209.155:6001)
1) 为配置服务器创建文件夹,并配置配置文件
#mkdir –p /mongo_config4/data
#mkdir –p /mongo_config4/log
#vim /mongo_config4/mongo_config4_secure.conf
配置文件内容如下:
最后两行是我在mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 加的内部安全认证,所以要加。若是没有加内部安全认证,则可以去掉最后两行
2) 启动替换配置服务器。
# mongod --fork --config /mongo_config4/mongo_config4_secure.conf
3) 将新的配置服务器添加到副本集。
连接到配置服务器副本集的主成员
# mongo --port 6000 –u bear –p bear --authenticationDatabase admin
用rs.add()添加新成员。
rs.add("192.168.209.155:6003")
然后,就等待系统将所有数据从配置服务器副本集的一个成员复制到新成员,这个过程可以不重新启动。
mongos 实例会自动识别配置服务器副本集成员的更改,而不用重新启动。
4) 关闭成员以替换。
注意:如果更换主成员,请先降级主成员,然后再关闭。
连接到mongo_config3
# mongo --port 6002 –u bear –p bear --authenticationDatabase admin
关闭该成员
use admin;
db.shutdownServer();
exit
5) 从配置服务器副本集中删除要替换的成员。
在完成替换配置服务器的初始同步后,连接到主成员
# mongo --port 6000 –u bear –p bear --authenticationDatabase admin
使用rs.remove()删除旧成员。
rs.remove(“192.168.209.155:6002”)
mongos 实例会自动识别配置服务器副本集成员的更改,而不用重新启动。
6) 如有必要,请更新mongos配置或DNS记录。
下次重新启动时,更新 mongos配置文件,将旧配置数据库的主机端口更改为新的主机端口。
--------------------------------------- over ------------------------------------------------------
以上资料,大部分是参考官网的资料,在此表示感谢。
https://docs.mongodb.com/manual/tutorial/replace-config-server/