MongoDB副本集群节点扩容和收缩

MongoDB节点扩容和收缩

下面我们来就举例MongoDB库的副本集群节点扩容和收缩

文章目录

  • MongoDB节点扩容和收缩
    • 1.副本集节点扩容
      • 1.1.创建新的节点目录
      • 1.2.修改文件端口
      • 1.3.启动新的节点
      • 1.4.登录节点
      • 1.5.在主节点执行扩容命令
      • 1.6.在子节点进行查看
      • 1.7.测试集群
    • 2.集群剔除操作
      • 2.1.使用住节点执行剔除操作
      • 2.2.被剔除集群的状态
      • 2.3.关闭被剔除的集群
      • 2.4.查看集群状态
    • 3.增加仲裁节点
      • 3.1.删除数据文件
      • 3.2.启动节点
      • 3.3.创建仲裁节点

1.副本集节点扩容

1.1.创建新的节点目录

[root@localhost mongo_clusetr]# cp -rp mongodb_28017/ mongodb_28010

[root@localhost mongo_clusetr]# cp  -rp /data/mongo_clusetr/mongodb_27017/ /data/mongo_clusetr/mongodb_28010

1.2.修改文件端口

[root@localhost mongo_clusetr]# sed -i 's#28017#28010#g' mongodb_28010/conf/mongodb.yml

1.3.启动新的节点

[root@localhost mongo_clusetr]# mongodb/bin/mongod -f mongodb_28010/conf/mongodb.yml

1.4.登录节点

[root@localhost mongo_clusetr]# mongodb/bin/mongo db:28010

1.5.在主节点执行扩容命令

dba1:PRIMARY> rs.add("192.168.40.4:28010")

MongoDB副本集群节点扩容和收缩_第1张图片

1.6.在子节点进行查看

可以看到很快就切换到了集群的状态

MongoDB副本集群节点扩容和收缩_第2张图片

MongoDB副本集群节点扩容和收缩_第3张图片

1.7.测试集群

在主库插入数据在新增加的从库查询

dba1:PRIMARY> db.test.insert({"name":"zhangsan","age":12})
WriteResult({ "nInserted" : 1 })
dba1:PRIMARY> 

MongoDB副本集群节点扩容和收缩_第4张图片

dba1:SECONDARY> db.test.find()
{ "_id" : ObjectId("637c826c7e632a69cc9d80c3"), "name" : "zhangsan", "age" : 11 }
{ "_id" : ObjectId("637c828d7e632a69cc9d80c4"), "name" : "zhangsan", "age" : 12 }

MongoDB副本集群节点扩容和收缩_第5张图片

2.集群剔除操作

剔除和扩容都是非常简单,只要注意一些命令不要操作失误

2.1.使用住节点执行剔除操作

dba1:PRIMARY> rs.remove("192.168.40.4:28010")
{
	"ok" : 1,
	"operationTime" : Timestamp(1669104604, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1669104604, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}

MongoDB副本集群节点扩容和收缩_第6张图片

2.2.被剔除集群的状态

MongoDB副本集群节点扩容和收缩_第7张图片

被剔除的集群默认还是会占用资源,我们把他给关闭掉

2.3.关闭被剔除的集群

[root@localhost mongo_clusetr]# mongodb/bin/mongod -f mongodb_28010/conf/mongodb.yml --shutdown

2.4.查看集群状态

可以看到id_3的端口已经消失了,节点被剔除

MongoDB副本集群节点扩容和收缩_第8张图片

3.增加仲裁节点

3.1.删除数据文件

删除数据文件添加仲裁节点,仲裁节点不参与选举只会投票

[root@localhost mongodb_28010]# rm -fr /data/mongo_clusetr/mongodb_28010/data/

3.2.启动节点

[root@localhost mongo_clusetr]# mongodb/bin/mongod -f mongodb_28010/conf/mongodb.yml

3.3.创建仲裁节点

在主库操作

rs.addArb("192.168.40.4:28010")

再次登陆之后可以看到已经变成了仲裁节点

dba1:ARBITER> 

你可能感兴趣的:(MongoDB,mongodb,数据库,nosql)