MongoDB分片部署(windows)

这篇具有很好参考价值的文章主要介绍了MongoDB分片部署(windows)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OS:win10

MongoDB:4.4.24

分片架构

mongodb windows 分片部署,NOSQL,mongodb,数据库

从图中可以看出,分片集群中主要由三个部分组成,即分片服务器( Shard )、路由服务器
Mongos )以及配置服务器( Config Server )组成。其中,分片服务器有三个,即 Shard1
Shard2 Shard3 ;路由服务器有两个,即 Mongos1 Mongos2 ;配置服务器有三个,即主、副、副。
主要有如下所述三个主要组件:
Shard: 用于存储实际的数据块,实际生产环境中一个shard server 角色可由几台机器组个一个 replica set 承担,防止主机单点故障
Config Server: mongod实例,存储了整个 ClusterMetadata ,其中包括 chunk 信息。
Query Routers: 前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。

部署分片集群

部署shard

步骤一:环境准备

分片 节点(实例) 端口 路径
1 shard11(主) 4006

dbpath:D:\shard1\shard11\data

logpath:D:\shard1\shard11\log

shard12(从) 4007

dbpath:D:\shard1\shard12\data

logpath:D:\shard1\shard12\log

2 shard21(主) 4008

dbpath:D:\shard2\shard21\data

logpath:D:\shard2\shard21\log

shard22(从) 4009

dbpath:D:\shard2\shard22\data

logpath:D:\shard2\shard22\log

每一个分片都应该安装 MongoDB 实例,需要将 bin 文件复制到每个分片中, 并且创建data 文件以及 log 文件存放数据库数据和日志数据

mongodb windows 分片部署,NOSQL,mongodb,数据库mongodb windows 分片部署,NOSQL,mongodb,数据库

步骤二 启动分片服务(实例)

启动分片集群1(shard11和shard12)

shard11

然后进入数据库bin目录中,启动cmd

\bin>mongod --shardsvr --replSet shard1 -port 4006 -dbpath D:\shard1\shard11\data -logpath D:\shard1\shard11\log\shard11.log
--shardsvr 为分片声明
当命令一直保持运行状态则说明服务运行成功,此服务为一次性服务,不要关闭此窗口,最小化即可。
shard12:

mongodb windows 分片部署,NOSQL,mongodb,数据库

再次进入数据库bin目录中,启动cmd

bin>mongod --shardsvr --replSet shard1 -port 4007 -dbpath D:\shard1\shard12\data -logpath D:\shard1\shard12\log\shard12.log

mongodb windows 分片部署,NOSQL,mongodb,数据库

启动分片集群2(shard21和shard22)

shard21

\bin>mongod --shardsvr --replSet shard2 -port 4008 -dbpath D:\shard2\shard21\data -logpath D:\shard2\shard21\log\shard21.log

mongodb windows 分片部署,NOSQL,mongodb,数据库

shard22

\bin>mongod --shardsvr --replSet shard2 -port 4009 -dbpath D:\shard2\shard22\data -logpath D:\shard2\shard22\log\shard22.log

mongodb windows 分片部署,NOSQL,mongodb,数据库

tips:

电脑版本比较高,所以的 cmd 需要使用管理员身份运行
启动服务均为一次性服务,关闭 cmd 即为关闭服务,所以在未完成前,请勿关闭
实例均未添加至系统环境变量,请在 bin 目录下启动
虽然窗口很多,操作不太友好,但是在 win 系统下,还是多有耐心一点, linux会简单一些

步骤三:配置分片(shard)集群

进入到shard1集群任何一个节点中

use admin

config={_id:"shard1",members:[
... {_id:0,host:"localhost:4006",priority:2},
... {_id:1,host:"localhost:4007",priority:1}
... ]}


 rs.initate(config)

进入到shard2集群任何一个节点中

use admin

config={_id:"shard2",members:[
... {_id:0,host:"localhost:4008",priority:2},
... {_id:1,host:"localhost:4009",priority:1}
... ]}


 rs.initate(config)

mongodb windows 分片部署,NOSQL,mongodb,数据库

至此,shard集群配置好了。

部署config server

步骤一:环境准备

值得注意的是:在 MongoDB 3 版本后 config 服务必须配置为从 副本集 ,所以直接用前面设置好了的副 本启动即可
config实例 端口 数据路径 日志路径
config1(主) 4002 D:\config\config1\data D:\config\config1\log
config2(从) 4003 D:\config\config2\data D:\config\config2\log

老样子,每个文件夹添加datalog

mongodb windows 分片部署,NOSQL,mongodb,数据库

步骤二:启动config server

启动config1

进入到bin目录中,启动cmd

\bin>mongod --configsvr --replSet confset -port 4002 -dbpath D:\config\config1\data -logpath D:\config\config1\log\conf1.log
--configsvr 这里我们完全可以像启动普通 mongodb 服务一样启动,不需要添加 —shardsvr configsvr 参数。因为这两个参数的作用就是改变启动端口的,所以我们自行指定了端口就可以。

mongodb windows 分片部署,NOSQL,mongodb,数据库

启动config2
\bin>mongod --configsvr --replSet confset -port 4003 -dbpath D:\config\config2\data -logpath D:\config\config2\log\conf2.log

mongodb windows 分片部署,NOSQL,mongodb,数据库

不要关闭 cmd 窗口,最小化即可 ]

步骤三:配置config server集群

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

mongodb windows 分片部署,NOSQL,mongodb,数据库

 use admin


 config={_id:"confset",configsvr:true,members:[
... {_id:0,host:"localhost:4002"},
... {_id:1,host:"localhost:4003"}
... ]}


 rs.initiate(config)

mongodb windows 分片部署,NOSQL,mongodb,数据库

部署路由服务器 Route Process

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

mongodb windows 分片部署,NOSQL,mongodb,数据库

在进入 数据库 bin 目录中 启动 cmd

D:\MongoDB\bin>mongos --configdb confset/localhost:4002,localhost:4003 -logpath D:\mongos\log\mongos.log -port 4000
mongos mongos 就是一个路由服务器,它会根据管理员设置的 片键 将数据分摊到自己管理的
mongod 集群,数据和片的对应关系以及相应的配置信息保存在 "config 服务器 " 上。

mongodb windows 分片部署,NOSQL,mongodb,数据库

配置分片信息

bin 目录下使用 MongoDB Shell 登录到 mongos ,添加 Shard 节点

mongodb windows 分片部署,NOSQL,mongodb,数据库

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

mongodb windows 分片部署,NOSQL,mongodb,数据库

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

mongodb windows 分片部署,NOSQL,mongodb,数据库

测试分片

登入路由(4000) 端口
指定要分片的数据库
mongos> sh.enableSharding("test")
指定数据库里需要分片的集合和片键,片键根据实际情况选择
mongos> sh.shardCollection("test.c2",{"id":"hashed"})

上述指令指定分片集合为c2,分片字段为“id”,分片形式是哈希分片,若改成“1”则为范围分片

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

mongodb windows 分片部署,NOSQL,mongodb,数据库

插入数据验证

mongos> for(var i=1;i<=10000;i++){
... db.c2.save({id:i,name:"a"+i});}

robo 3T查看分片集

连接两个 shard 端口查看分片情况,若两个片段不同,则说明分片成功!!

mongodb windows 分片部署,NOSQL,mongodb,数据库文章来源地址https://www.toymoban.com/news/detail-860257.html

到了这里,关于MongoDB分片部署(windows)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式数据库NoSQL(二)——MongoDB 数据库基本操作

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的

    2024年02月06日
    浏览(52)
  • 分布式数据库NoSQL(四)——MongoDB 之聚合函数查询统计

    MongoDB 中聚合( aggregate )主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果,通常由聚合管道操作符和聚合表达式组合,完成数据处理。功能有点类似 Sql 语句中的 sum()、agv() 等。 目录 第1关:聚合管道操作符将文档定制格式输出(一) 常用聚合管道操作符

    2024年02月09日
    浏览(48)
  • 【MongoDB】五、MongoDB分片集群的部署

           能够通过部署MongoDB分片集群熟悉MongoDB分片集群架构和基本操作,从而解决大数据项目中数据量爆发式增长的需求 (1)根据上表中分片集群端口号的分配情况部署分片集群(XXX是姓名拼音首字母)。 (2)启动分片功能。 (3)模拟写入数据,对数据库和和集合进行

    2024年02月10日
    浏览(47)
  • mongodb 分片集群部署

    config 初始化,任意一台执行 shard1 安装 3台服务器分别添加配置文件 shard1 初始化 连接任意一台非“arbiterOnly: true”节点shard1,192.168.221.173、192.168.221.174、192.168.221.175分别替换为3台机器的IP地址(建议节点1执行) shard2 安装 3台服务器分别添加配置文件 shard2初始化, 连接任意一

    2024年02月10日
    浏览(35)
  • windows 安装 mongodb 数据库

    访问官方的下载地址: https://www.mongodb.com/try/download/community ,然后选择对应的版本进行下载 下载好了之后双击进行安装 1、点击 next 点击下一步 2、勾选接受协议,点击 next 3、第三页有两个选项,一个是 Complete 完整安装,还有一个是 Custom 自定义安装。在这里选择自定义安装

    2024年02月15日
    浏览(55)
  • Docker 部署 MongoDB 数据库

    https://www.mongodb.com/zh-cn 缩主机上创建 mongo/configdb/mongod.conf https://hub.docker.com/_/mongo 指定服务执行器与缓存大小 https://hub.docker.com/_/mongo-express 查看默认登录账号密码 注意: 默认登录账号密码是 admin/pass ,docker配置中已经将登录账号密码设置为 admin/123456 http://localhost:8081/ http:/

    2024年04月27日
    浏览(36)
  • Windows环境下安装MongoDB数据库

    菜鸟教程:MongoDB 概念解析 ​​​ 要想直接操作MongoDB数据库,需要在系统中安装它。这里以Windows系统为例,讲解如何从官网中下载MongoDB,井且安装和配置到电脑上,具体步骤如下: 1、打开MongoDB下载网站(按住control并单击),进入到 官方网站(如图所示): 2、选择下载的版

    2024年02月01日
    浏览(53)
  • 使用 Docker 部署高可用 MongoDB 分片集群

    mongodb 集群搭建的方式有三种: 主从备份(Master - Slave)模式,或者叫主从复制模式。 副本集(Replica Set)模式。 分片(Sharding)模式。 其中,第一种方式基本没什么意义,官方也不推荐这种方式搭建。另外两种分别就是副本集和分片的方式。今天介绍副本集的方式搭建 mo

    2024年02月06日
    浏览(46)
  • 在外Windows公网远程连接MongoDB数据库

    转载自远程内网穿透的文章:公网远程连接MongoDB数据库【内网穿透】 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富

    2024年02月04日
    浏览(64)
  • Learn Mongodb DB数据库部署 ②

    @作者 : SYFStrive   @博客首页 : HomePage 📜: PHP MYSQL 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 👉 VUEJS (🔥) 👉 MYSQL (🔥) 👉 微信小程序 (🔥) 👉 MONGODB (🔥) 👉 UNIAPP开发 (🔥) 提示:以下是本篇

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包