[Mongodb 5.0]从Replica Set删除节点
场景:
通过3台虚拟机构建的一个Primary-Secondary-Secondary的副本集,如下表格
PSS模式(还有PSA模式) | 地址 | 别名 |
Primary | 192.168.40.128 | 节点1 |
Secondary | 192.168.40.129 | 节点2 |
Secondary | 192.168.40.130 | 节点3 |
现在想要副本集中删除掉一个节点,例如删除掉节点3.
要从副本集中删除掉节点有两种方式:
- 通过rs.remove()的方式
步骤:
第一步:先关闭你想要删除的mongodb,关闭方式可以通过db.shutdownServer()方法
第二步:在Primary节点上(我这是是表格中的节点1)上通过mongosh连接上到mongodb(如果不知道那个节点是Primary,随便用一个在副本集中的节点,然后通过db.hello()方法就可知道那个是Primary节点了。)
第三步:使用rs.remove()方法来删除掉想要移除的节点。
此时如果在通过rs.config()或者rs.status()或者db.hello()就看不到删除的这个节点了。
- 通过rs.reconfig()的方式
注:从mongodb4.4开始,通过rs.reconfig()的方式每次只能删除一个可以投票的节点(何为投票节点,文章最后给解释),如果想删除多个节点,那么就要多次执行rs.reconfig()方法。
步骤:
第一步:先关闭你想要删除的mongodb,关闭方式可以通过db.shutdownServer()方法
第二步:在Primary节点上(我这是是表格中的节点1)上通过mongosh连接上到mongodb(如果不知道那个节点是Primary,随便用一个在副本集中的节点,然后通过db.hello()方法就可知道那个是Primary节点了。)
第三步:通过rs.conf()方法查看想要删除的节点在配置文件中的索引位置
第四步:在mongosh中执行如下js,上面的配置信息赋值给变量
第五步:通过这个变量删除配置中的要删除的节点,如下cfg = rs.conf()
cfg.members.splice(2,1) #2表示要删除的192.168.40.129这个节点在members数组中的索引值
第六步:执行下面命令,重新设置配置rs.reconfig(cfg)
第七步:验证,在执行rs.config()方法,如果已删除的节点没有出现在里面,就成功了。
到此从副本集中删除节点的两种方式的使用就介绍完毕了。
所谓可投票节点,就理解为副本集中的所有节点就行了,mongodb中可以设定节点是否参与选举,但是所有的节点都可以进行投票。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgacaie
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13