Nosql分片集群部署

环境准备

shard1与shard2的分目录。 

 将mongodb中的bin目录文件复制到每个分片中,并创建db文件以及log文件存放数据库和日记·数据·。

启动分片服务

进入要分片的数据bin目录中启动cmd

mongo --shardsvr --replSet shard1 --dbpath "D:\mongodb\shard1\db" --port 4006 --logpath "D:\mongodb\shard1\log\shard1.log"

 

启动成功后不用关闭

同样的在shard2文件中的bin目录中启动cmd

mongo --shardsvr --replSet shard2--dbpath "D:\mongodb\shard2\db" --port 4007 --logpath "D:\mongodb\shard2\log\shard2.log"

 再次在bin目录中启动cmd

mongo --shardsvr --replSet shard2 --dbpath "D:\mongodb\shard3\db" --port 4008 --logpath "D:\mongodb\shard3\shard1.log"

再再次启动cmd

 mongo --shardsvr --replSet shard2 --dbpath "D:\mongodb\shard4\db" --port 4009 --logpath "D:\mongodb\shard4\shard2.log"

进入分片一  初始化分片集

进行配置

configl={_id:"shard1",[

{_id:0,host:"localhost:4006",priority:1},

{_id:1,host:"localhost:4007",priority:2}]}}

 

初始化

 

进入分片二 初始化分片集

配置

config2={_id:"shard2",members:[

{_id:0,host:"localhost:4008",proiority:2},

{_id:1,host:"localhost:4009",proiority:1}]}

配置启动Config Server

直接用前面设置好了的副本启动即可

在文件夹中添加data和log

启动Config1
进入分片的数据库bin目录中

mongod --configsvr --replSet confset --dbpath "D:\mongodb\config1\db" --port 4002 --logpath "D:\mongodb\config1\log\config1,log"

 

启动Config2

mongod --configsvr --replSet confset --dbpath "D:\mongodb\config2\db" --port 4003 --logpath "D:\mongodb\config2\log\config.log"

启动Config3

mongod --configsvr --replSet confset --dbpath "D:\mongodb\config3\db" --port 4004 --logpath "D:\mongodb\config3\log\config.log"

进入任意一个配置服务器的节点初始化配置服务器的群集

重新打开cmd,bin目录mongo 127.0.0.1:4002

配置设置

config3={_id:"confset",configsvr:true,members:[{_id:0,ho]}

 配置路由服务器Route Process

创建专门的文件夹存放日志

在要进入分片的数据库bin目录中启动cmd

mongos --configdb confset/127.0.0.1:4002,127.0.0.1:4003,127.0.0.1:4003 --logpath"D:\mongodb\mongos\log\mongos.log" --port 4000

mongos:mongos就是一个路由器服务器,它会根据管理员设置的“片键”将数据分摊到自己管理的mongos集群,数据和片的对应关系以及相应的配置信息保存在“config服务器”上。

配置分片sharding,添加分片索引
bin目录下使用MongoDB Shell登录到mongos,添加Shard节点。

 

sh.addShard("shard1/localhost:4006,localhost:4007")

sh.addShard("shard2/localhost:4008,localhost:4009")

查看分片集

db.getsiblingDB("config").shards.find()

Mongodb分片测试

登入4000端口

mongo 127.0.0.1:4000

指定要分片的数据库

sh.enableSharding("test")

指定数据库里需要分片的集合和片键,片键根据实际情况选择

sh.shardCollection("test.c2",{"id":1})

其中1表示范围分片。"hashed"表示哈希分片。

如果集合已经包含数据,则必须在分片集合之前创造一个支持分片键的索引,如果集合为空,则mongodb将创建索引

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值