背景
重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾后才能正常更新,这里对整个MongoDB集群的IP修改过程做下记录,希望对有同样需求的小伙伴有所帮助。

原有集群配置如下

这里的端口分配如下所示:

IP修改对应关系如下:

更改IP步骤

升级过程是先升级UConfig 服务,再分别升级三个 Shard 配置,最后修改一个 mongos 的路由。当然了,在开始之前需要确保MongDB分片集群都已经停掉了。
停掉的步骤也很简单。 ps -ef | grep mongo 找到对应的线程id,然后 kill 掉即可。

修改config 节点的IP

  • 用如下命令,以 standlone 模式启动一个 Config 服务
/usr/mongod/bin/mongod --port 21000 --dbpath=/usr/mongod/data
  • 新打开一个shell,连接上这个config服务
/usr/mongod/bin/mongo --port 21000
  • 进入到 local 数据库查看 replset 集合,并修改对应的host
use localdb.system.replset.find()cfg = db.system.replset.findOne({_id: 'configs'})cfg.members[0].host = "172.168.7.11:21000"cfg.members[1].host = "172.168.7.16:21000"cfg.members[2].host = "172.168.7.21:21000"db.system.replset.update({_id: 'configs'}, cfg)db.system.replset.find()
  • 上面最后一行是把修改好的内容查出来以便于查看下修改是否成功。
  • 按照同样的步骤以 standlone 模式启动启动另外两个config节点,并修改另外两个config服务节点的信息。
  • 停掉这三个以 standlone 模式启动的config服务节点
  • 分别按照正常集群模式启动这三个config节点
/usr/mongod/bin/mongod -f /usr/mongod/conf/config.conf
  • 看到如下所示,说明选举成功了。
  • 登录到 primary 节点,修改分片信息
use configcfg=db.shards.findOne({_id:'shard1'})cfg.host="shard1/172.168.7.11:27001,172.168.7.16:27001"db.shards.update({_id:'shard1'},cfg)cfg = db.shards.findOne({_id: 'shard2'})cfg.host = "shard2/172.168.7.16:27002,172.168.7.21:27002"db.shards.update({_id: 'shard2'}, cfg)cfg = db.shards.findOne({_id: 'shard3'})cfg.host = "shard3/172.168.7.11:27003,172.168.7.21:27003"db.shards.update({_id: 'shard3'}, cfg)
  • 至此config服务节点的修改完成,接下来进行shard节点的修改

修改shard分片的IP信息

  • 以 standlone 模式启动分片1,然后登录进去
/usr/mongod/bin/mongod --port 27001 --dbpath=/usr/mongod/shard1//usr/mongod/bin/mongo --port 27001
  • 切换到 admin 数据库的 version 集合查看下 config 配置信息,如果有 _id:shardIdentity 的数据则进行下更新,当然这里如果有 _id:minOpTimeRecovery 的数据也需要更新
use admindb.system.version.find()db.system.version.update({"_id" : "shardIdentity"},{"$set":{"configsvrConnectionString" : "configs/172.168.7.11:21000,172.168.7.16:21000,172.168.7.21:21000"}})db.system.version.update({"_id" : "minOpTimeRecovery"},{"$set":{"configsvrConnectionString" : "configs/172.168.7.11:21000,172.168.7.16:21000,172.168.7.21:21000"}})
  • 修改复制集的配置信息,复制集的配置信息都保存在 local 库的 system.replset 集合中
use localcfg = db.system.replset.findOne({_id: 'shard1'})cfg.members[0].host="172.168.7.11:27003"cfg.members[1].host="172.168.7.16:27003"cfg.members[2].host="172.168.7.21:27003"db.system.replset.update({_id:'shard3'},cfg)db.system.replset.findOne({_id: 'shard3'})
  • 重复上述步骤分别对shaed2,shard3进行ip的更改
  • 最后按照集群的模式启动你的三个分片即可。
/usr/mongod/bin/mongod -f /usr/mongod/conf/shard1.conf

修改mongos服务的路由信息

  • 用vim打开mongos的配置文件,修改对应的 configserver 配置项为最新的configderver地址
vim /usr/mongod/conf/mongos.conf
  • 按集群模式启动mongos服务即可
/usr/mongod/bin/mongos -f /usr/mongod/conf/mongos.conf
  • 登录验证下即可
/usr/mongod/bin/mongo --port 20000

至此,MongoDB分片集群IP修改结束。

db文件怎么修改_MongoDB最新4.2.7版本三分片集群修改IP实操演练相关推荐

  1. MongoDB最新4.2.7版本三分片集群修改IP实操演练

    背景 重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾 ...

  2. 从零搭建生产Hadoop集群(五)——CDH集群修改主机名与IP

    从零搭建生产Hadoop集群(五)--CDH集群修改主机名与IP 一.概述 二.完整步骤 1.官网推荐步骤: (1)验证下SSL/TLS认证是否所有服务都有配备,确认创建新的SSL/TLS认证. (2 ...

  3. kubeadm集群修改k8s证书时间到99年

    kubeadm集群修改k8s证书时间到99年 kubeadm修改证书时间 (1).查看当前的证书时间 # kubeadm alpha certs check-expiration [check-exp ...

  4. k8s服务器修改ip,[转载][K8S] Kubernetes 集群变更IP地址

    [K8S] Kubernetes 集群变更IP地址 原文:https://blog.csdn.net/whywhy0716/article/details/92658111 本文基于单节点K8S. 碎 ...

  5. HAC集群修改管理员用户密码

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.6,4.5.7 文档用途 本文档用于指导HAC ...

  6. HAC集群修改为单机

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86 Red Hat Enterprise Linux 6 版本:4.5.7 文档用途 本文档用于指导HAC集群修改为单机 详 ...

  7. CDH6.3.2集群变更IP配置修改

    CHD集群在服务器节点的IP改变之后需要修改一些配置,它本身不会如Apache原生软件那样完全依赖服务器的域名映射,我这边本地使用的测试环境是CDH6.3.2的,在启动/关闭上不用担心agent,如果 ...

  8. 2021年安全员-A证(山东省-2021版)最新解析及安全员-A证(山东省-2021版)实操考试视频

    题库来源:安全生产模拟考试一点通公众号小程序 安全员-A证(山东省-2021版)最新解析考前必练!安全生产模拟考试一点通每个月更新安全员-A证(山东省-2021版)实操考试视频题目及答案!多做几遍,其 ...

  9. linux时间跳变影响,MONGO 集群 修改linux主机时间后的影响

    生产环境是 一主一从一仲裁 3 分片的集群,现在发现其中一个节点比当前时间大了好几天,后使用 NTP 将时间往回调整副本集上. 原来时间是 5 月 3 日,当前是 4 月 26 日,对此进行了调整. ...

最新文章

  1. 执行spring boot应用三种方式
  2. JVM内存结构与GC
  3. 《蒙福人生》读后感作文2900字
  4. Kali 远程登陆SSH
  5. python自动化框架2019_《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!...
  6. linux沙箱隔离_Linux沙箱技术介绍
  7. SpringBoot 项目打包部署
  8. .net开源框架开源类库(整理)
  9. nginx+Tomcat实现动静分离架构
  10. Linux文件目录与路径
  11. 54部经典国外动画片---送给70-80年代的朋友
  12. 佳能IP7250打印机6000错误
  13. kml文件转成cvs_KMZ KML与SHP文件互相转换
  14. 面向开发人员的 27种Vuejs开发工具
  15. 基于opencv的简单数字识别
  16. HTML---网页编程(2)
  17. 啮齿类动物大尺度功能网络
  18. emulator-5554 offline问题
  19. ACTF2020 writeup
  20. python解常微分方程龙格库_excel实现四阶龙格库塔法runge-kutta解二阶常微分方程范例.xls...

热门文章

  1. LeetCode | HouseCode 算法题
  2. WCF X.509验证
  3. python中的自测语句是什么?
  4. 小白学数据分析-----数据指标 累计用户数的使用
  5. Linux内存管理slub分配器
  6. ESP32 coredump 分析
  7. Linux 开发者最应该知道的命令汇总
  8. linux模块加载和模块卸载时出现的问题
  9. PostMessage()
  10. java技术_2020年最流行的Java开发技术