修改mongodb(带仲裁节点的副本集)各机器端口
需求:因为端口调整,需要改变副本的备份集
1.查看当前的副本集信息
[root@localhost bin]# ./mongo 192.168.1.134:10001
repltest:PRIMARY> use admin
repltest:PRIMARY> db.auth("sa","123456")
repltest:PRIMARY> rs.config()
{
"_id" : "repltest",
"version" : 1,
"members" : [
{
"_id" : 0,
"host" : "192.168.1.134:10001",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 1,
"host" : "192.168.1.135:10002",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 2,
"host" : "192.168.1.135:10003",
"arbiterOnly" : true,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatTimeoutSecs" : 10,
"getLastErrorModes" : { },
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
}
}
}
我们需要将这里各机器的端口10001,10002,10003分别修改为20001,20002,20003
2.修改从库192.168.1.135:10002为192.168.1.135:20002
2.1 停掉该从库
[root@localhost bin]# ./mongo localhost:10002
repltest:SECONDARY> use admin
repltest:SECONDARY> db.auth("sa","123456")
repltest:SECONDARY> db.shutdownServer()
2.2修改配置文件(mongo.cnf)将端口10002修改为20002
port = 20002
2.3启动该重库
[root@localhost bin]# ./mongod -f /opt/mongodb3015_slave/conf/mongo.cnf
2.4登陆主库执行如下命令
repltest:PRIMARY> rs.remove("192.168.1.135:10002") ##移除原配置文件中的已经变更地址的主机
repltest:PRIMARY> rs.add("192.168.1.135:20002") ##添加变更后的端口
2.5查看配置是否生效
rs.config()
rs.status()
3.修改仲裁节点的端口
3.1停掉仲裁节点
[root@localhost bin]# ./mongo localhost:10003
MongoDB shell version: 3.0.15
connecting to: localhost:10003/test
repltest:ARBITER> use admin
switched to db admin
repltest:ARBITER> db.auth("sa","123456")
Error: 18 Authentication failed.
0
repltest:ARBITER> db.shutdownServer()
3.2修改配置文件(mongo.cnf)将端口10003修改为20003
port = 20002
3.3启动该重库
[root@localhost bin]# ./mongod -f /opt/mongodb3015_arbiter/conf/mongo.cnf
3.4登陆主库执行如下命令
repltest:PRIMARY> rs.remove("192.168.1.135:10003") ##移除原配置文件中的已经变更地址的主机
repltest:PRIMARY> rs.addArb("192.168.1.135:20003") ##添加仲裁节点
3.5查看配置是否生效
rs.config()
rs.status()
4.修改主库192.168.1.134:10001为192.168.1.134:10002
4.1 停掉该主库
[root@localhost bin]# ./mongo localhost:10001
repltest:PRIMARY> use admin
repltest:PRIMARY> db.auth("sa","123456")
repltest:PRIMARY> db.shutdownServer()
这个时候该另外一个从库会变更为主库
4.2修改配置文件(mongo.cnf)将端口10001修改为20001
port = 20001
4.3启动该库
[root@localhost bin]# ./mongod -f /opt/mongodb3015/conf/mongo.cnf
4.4登陆主库执行如下命令
root@localhost bin]# ./mongo 192.168.1.135:20002
repltest:PRIMARY> use admin
repltest:PRIMARY> db.auth("sa","123456")
repltest:PRIMARY> rs.remove("192.168.1.134:10001") ##移除原配置文件中的已经变更地址的主机
repltest:PRIMARY> rs.add("192.168.1.134:20001") ##添加变更后的端口
5.整个配置完成后查看配置和状态
repltest:PRIMARY> rs.conf()
{
"_id" : "repltest",
"version" : 7,
"members" : [
{
"_id" : 3,
"host" : "192.168.1.135:20002",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 4,
"host" : "192.168.1.135:20003",
"arbiterOnly" : true,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 5,
"host" : "192.168.1.134:20001",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : { },
"slaveDelay" : 0,
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatTimeoutSecs" : 10,
"getLastErrorModes" : { },
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
}
}
}
repltest:PRIMARY> rs.status()
{
"set" : "repltest",
"date" : ISODate("2019-02-21T01:13:14.107Z"),
"myState" : 1,
"members" : [
{
"_id" : 3,
"name" : "192.168.1.135:20002",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1504,
"optime" : Timestamp(1550711569, 1),
"optimeDate" : ISODate("2019-02-21T01:12:49Z"),
"electionTime" : Timestamp(1550711217, 1),
"electionDate" : ISODate("2019-02-21T01:06:57Z"),
"configVersion" : 7,
"self" : true
},
{
"_id" : 4,
"name" : "192.168.1.135:20003",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 596,
"lastHeartbeat" : ISODate("2019-02-21T01:13:13.747Z"),
"lastHeartbeatRecv" : ISODate("2019-02-21T01:13:12.451Z"),
"pingMs" : 0,
"configVersion" : 7
},
{
"_id" : 5,
"name" : "192.168.1.134:20001",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 22,
"optime" : Timestamp(1550711569, 1),
"optimeDate" : ISODate("2019-02-21T01:12:49Z"),
"lastHeartbeat" : ISODate("2019-02-21T01:13:13.791Z"),
"lastHeartbeatRecv" : ISODate("2019-02-21T01:13:13.851Z"),
"pingMs" : 0,
"syncingTo" : "192.168.1.135:20002",
"configVersion" : 7
}
],
"ok" : 1
}
修改mongodb(带仲裁节点的副本集)各机器端口的更多相关文章
- MongoDB学习笔记——Replica Set副本集
副本集 可以将MongoDB中的副本集看作一组服务器集群由一个主节点和多个副本节点等组成,相对于之前讲到的主从复制提供了故障自动转移的功能 副本集实现数据同步的方式依赖于local数据库中的oplog ...
- MongoDB 2.6配置副本集,支持端口号修改和用户登录认证
mongoDB系列之(二):mongoDB 副本集 Mongodb2.6副本集验证部署和认证 副本集有以下特点: 1. 最小构成是:primary,secondary,arbiter,一般部署是:pr ...
- MongoDB集群部署 - 带访问控制的分片副本集
1. 前言 Ceilometer将meter.event等数据保存在MongoDB中,之前将MongoDB部署在控制节点上,使用三副本模式,时间长了发现meter数据爆炸式增长,区区2T的磁盘捉襟见肘 ...
- MongoDB 3.4 分片 由副本集组成
要在真实环境中实现MongoDB分片至少需要四台服务器做分片集群服务器,其中包含两个Shard分片副本集(每个包含两个副本节点及一个仲裁节点).一个配置副本集(三个副本节点,配置不需要仲裁节点),其中 ...
- 快速掌握mongoDB(五)——读写分离的副本集实现和Sharing介绍
1 mongoDB副本集 1 副本集简介 前边我们介绍都是单机MongoDB的使用,在实际开发中很少会用单机MongoDB,因为使用单机会有数据丢失的风险,同时单台服务器无法做到高可用性(即当服务器宕 ...
- MongoDB添加仲裁节点报错replica set IDs do not match办法
背景:由于历史原因,某个MongoDB副本集只有一主一从双节点,无法满足自动故障转移要求,需要配置一个仲裁节点. 原有节点192.168.10.20:27017,192.168.10.21:27017 ...
- MongoDB数据库 : 管道,用户管理,副本集等
聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...
- mongodb主从(副本集附仲裁节点)部署带认证模式
环境:OS:CentOS 7DB:3.0.15机器角色:192.168.1.134:10001 主192.168.1.135:10002 从192.168.1.135:10003 仲裁节点 1.下载相 ...
- MongoDB 副本集的原理、搭建、应用
概念: 在了解了这篇文章之后,可以进行该篇文章的说明和测试.MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组 ...
随机推荐
- HashTab---Windows资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签
HashTab 是一个优秀的 Windows 外壳扩展程序,它在 Windows 资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签.该标签可以帮助你方便地计算文件的 MD5.SHA1 与 C ...
- CPanel/服务器文件及目录
cPanel服务器默认的各主要目录及配置文件的路径.cPanel服务器很多配置文件的路径和通常情况下安装LAMP的不同,另外还有很多是属于cPanel面板自己的配置文件. 目录 1 Apache 2 ...
- eclipse解决js提示
自学js,发现eclipse中不管js文件.html文件.jsp文件没有都没js代码的提示,对于js代码也不报错,有时候就因为单词敲错却查了很久没查出来,很烦很难受. 在网上找了很多方法,都没有解决, ...
- 参看gitlab版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- JQuery限制文本框只能输入数字和小数点的方法
<input type="text" class="txt NumText" Width="100px" /> $(func ...
- node_modules文件过长无法删除问题记录
执行指令 rimraf node_modules
- RTOS 和中断之间要注意的
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRI ...
- 16.3-uC/OS-III同步 (事件标志组实验)
事件标志组,顾名思义,就是若干个事件标志的组合,代表若干个事件是否发生,通常用于集合两个或两个以上事件的状态 . 1.如果想要使用事件标志组,就必须事先使能事件标志组.消息队列的使能位于“os_cfg ...
- RVIZ实现模拟控制小车
RVIZ是一个强大的可视化工具,可以看到机器人的传感器和内部状态. 1.安装rbx1功能包Rbx1是国外一本关于ros的书中的配套源码,包含了机器人的基本仿真.导航.路径规划.图像处理.语音识别等等. ...
- Ch02 控制结构和函数 - 练习
1. 一个数字如果为正数,则它的signum为1:如果是负数,则signum为-1:如果是0,则signum为0.编写一个函数来计算这个值. scala> def signum(x:Int):I ...