如何做别人的网站,中小型企业的数据查询,北京网吧,品牌网站建设十小蝌蚪目录 前言 一、分片概念 二、搭建集群的步骤 总结 前言
MongoDB分片#xff08;Sharding#xff09;是一种水平扩展数据库的方法#xff0c;它允许将数据分散存储在多个服务器上#xff0c;从而提高数据库的存储容量和处理能力。分片是MongoDB为了应对大数据量和高吞吐量需… 目录 前言 一、分片概念 二、搭建集群的步骤 总结 前言
MongoDB分片Sharding是一种水平扩展数据库的方法它允许将数据分散存储在多个服务器上从而提高数据库的存储容量和处理能力。分片是MongoDB为了应对大数据量和高吞吐量需求而设计的一种分布式架构。 一、分片概念
1.分片键Shard KeyMongoDB使用分片键来决定数据如何分布在不同的分片上。分片键可以是文档中的一个字段或字段组合MongoDB会根据分片键的值将数据均匀地分配到各个分片中。
2.分片Shard分片是MongoDB集群中的一个组成部分它是一个独立的MongoDB实例负责存储一部分数据。每个分片可以包含多个数据块Chunks这些数据块是根据分片键的值范围来划分的。
3.配置服务器Config Servers配置服务器存储着集群的元数据信息包括分片的配置信息、数据库和集合的元数据等。配置服务器是集群的控制中心所有分片和客户端都需要与配置服务器通信来获取必要的信息。
4.查询路由器Query Routers查询路由器也称为mongos是客户端与MongoDB集群交互的接口。客户端通过查询路由器发送请求查询路由器会根据分片键将请求路由到相应的分片上并将结果汇总返回给客户端。
二、搭建集群的步骤 1.配置config副本集
1.1准备数据存放路径
在mongodb下文件创建shard文件 在shard下创建以下文件 分别在rs0和rs1创建以下文件 2.启动分片服务 配置Shard1分片复制集rs0
打开三个cmd窗口分别输入以下命令 mongod --dbpath D:\mongodb\shard\rs0\db1 --replSet rs0 --port 1000 --shardsvr
mongod --dbpath D:\mongodb\shard\rs0\db2 --replSet rs0 --port 1001 --shardsvr
mongod --dbpath D:\mongodb\shard\rs0\db3 --replSet rs0 --port 1002 --shardsvr接着新打开一个cmd窗口输入
//连接任意节点配置
mongo --port 1000
conf{_id:rs0,members:[{_id:0,host:localhost:1000},{_id:1,host:localhost:1001},{_id:2,host:localhost:1002}]
}
rs.initiate(conf) 进行上面相同的操作配置Shard2分片复制集rs1
四个cmd窗口
mongod --dbpath D:\mongodb\shard\rs1\db1 --replSet rs1 --port 2000 --shardsvr
mongod --dbpath D:\mongodb\shard\rs1\db2 --replSet rs1 --port 2001 --shardsvr
mongod --dbpath D:\mongodb\shard\rs1\db3 --replSet rs1 --port 2002 --shardsvr
mongo --port 2000
conf{_id:rs1,members:[{_id:0,host:localhost:2000},{_id:1,host:localhost:2001},{_id:2,host:localhost:2002}]
}
rs.initiate(conf)
3.配置Config Server 四个cmd窗口
mongod --dbpath D:\mongodb\shard\config\config0 --replSet config --port 3000 --configsvr
mongod --dbpath D:\mongodb\shard\config\config1 --replSet config --port 3001 --configsvr
mongo --port 3000
conf{_id:config,members:[{_id:0,host:localhost:3000},{_id:1,host:localhost:3001}]
}
rs.initiate(conf)4.启动mongos路由进程
mongos --configdb config/localhost:3000,localhost:3001 --port 4000 5.连接mongos进程进行配置(mongos)
mongo --port 4000
查看分片信息
use admin
db.runCommand({listshards:1})6.addShard添加分片(mongos)
use admin
db.runCommand({addShard:rs0/localhost:1000,localhost:1001,localhost:1002,name:shard1
})
db.runCommand({addShard:rs1/localhost:2000,localhost:2001,localhost:2002,name:shard2
})
db.runCommand({listshards:1})7 .为数据库启用分片(mongos)
use admin
db.runCommand({enablesharding:test}) 8.为数据库启用分片(mongos)
use admin
db.runCommand({enablesharding:test})
9.对集合进行分片
use admin
db.runCommand({shardcollection:test.students,key:{_id:1}})
10. 设置chunk大小(mongos)
use admin
sh.startBalancer()
use config
db.settings.save({_id:chunksize,value:1})
db.settings.find()
这样分片集群就搭建好了。
11.在java中使用mongodb分片集群 端口号为4000 搭建集群的作用
1.提高性能通过将数据分散到多个服务器上可以并行处理更多的查询和写操作从而提高数据库的性能。
2.扩展存储容量随着数据量的增加单个服务器的存储容量可能不足以满足需求。通过分片可以将数据分散存储在多个服务器上从而扩展存储容量。
3.提高可用性分片集群通过数据的副本集Replica Sets来实现高可用性。即使某个分片发生故障其他分片仍然可以提供服务保证了系统的稳定运行。 总结
以上就是mongodb的集群搭建操作如有错误在评论区和我讨论哦谢谢观看