Mongodb配置分片服务器

mongodb的sharding集群由以下3个服务组成:

Shards  Server: 每个shard由一个或多个mongod进程组成,用于存储数据

Config  Server: 用于存储集群的Metadata信息,包括每个Shard的信息和chunks信息

Route   Server: 用于提供路由服务,由Client连接,使整个Cluster看起来像单个DB服务器

另外,Chunks是指MongoDB中一段连续的数据块,默认大小是200M,一个Chunk位于其中一台Shard服务器上

下面,搭建一个Cluster,它由4台服务器组成,包括3个Shard,3个Config,1个Route

 配置config
 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config1 --port 28001  --logpath=/usr/local/mongodb/config1/config.log --replSet configs &

 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config2 --port 28002  --logpath=/usr/local/mongodb/config2/config.log --replSet configs &

 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config3 --port 28003  --logpath=/usr/local/mongodb/config3/config.log --replSet configs &

rs.initiate({
  _id:"configs", // replSet指定的名称
  members:[{
    _id:0,
    host:"127.0.0.1:28001" // 主节点ip与端口
  }]
})

rs.add("127.0.0.1:28002");
rs.add("127.0.0.1:28003");

配置路由设置
 /usr/local/mongodb/bin/mongos --port 40000 --configdb="configs/127.0.0.1:28001,127.0.0.1:28002,127.0.0.1:28003" --logpath /usr/local/mongodb/mongos/mongos.log

 配置sharding 节点
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c1 -port 29017 -logpath=/usr/local/mongodb/c1/29017.log &
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c2 -port 29018 -logpath=/usr/local/mongodb/c2/29018.log &
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c3 -port 29019 -logpath=/usr/local/mongodb/c3/29019.log &

 路由配置
 /usr/local/mongodb/bin/mongo --port 40000 
切换到 admin : use admin
  db.runCommand({ addshard:"127.0.0.1:29017" })
  db.runCommand({ addshard:"127.0.0.1:29018" })
  db.runCommand({ addshard:"127.0.0.1:29019" })
  
  
  db.runCommand({"enablesharding": "test"})

对chunk的移动
 db.adminCommand({moveChunk : "test.yhl", find : {id:{$gt:2}}, to : "shard0002"});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB分片集群是一种用于处理大规模数据的解决方案,它将数据分布在多个服务器上,以实现数据的水平扩展和负载均衡。下面是关于MongoDB分片集群的介绍和演示[^1]: 1. 分片集群架构:MongoDB分片集群由以下组件组成: - Shard:每个Shard是一个独立的MongoDB实例,负责存储部分数据。 - Config Server:Config Server存储了分片集群的元数据,包括数据的分片规则和Chunk的位置信息。 - Mongos:Mongos是客户端与分片集群交互的接口,它将客户端的请求路由到正确的Shard上。 2. 分片策略:MongoDB使用分片键将数据分布到不同的Shard上。分片键是一个用于划分数据的字段,例如根据用户ID进行分片MongoDB提供了多种分片策略,包括范围分片、哈希分片和标签分片。 3. 分片集群的配置和部署:配置一个MongoDB分片集群需要以下步骤: - 部署Shard:在多台服务器上安装和配置MongoDB实例,并将它们作为Shard加入到集群中。 - 部署Config Server:安装和配置Config Server实例,并将它们作为Config Server加入到集群中。 - 配置Mongos:安装和配置Mongos实例,并将它们作为Mongos加入到集群中。 - 配置分片规则:使用MongoDB的命令行工具或驱动程序,配置分片规则和分片键。 4. 演示:以下是一个简单的MongoDB分片集群演示: - 部署3个Shard服务器和2个Config Server服务器。 - 配置Mongos实例并启动。 - 创建一个数据库和集合。 - 配置分片规则,将数据根据分片键进行分片。 - 向集合中插入数据,观察数据如何分布在不同的Shard上。 - 运行查询,观察Mongos如何将查询路由到正确的Shard上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值