MongoDB集群搭建-最简单

目录

前言

一、分片概念

二、搭建集群的步骤

总结


前言

MongoDB分片(Sharding)是一种水平扩展数据库的方法,它允许将数据分散存储在多个服务器上,从而提高数据库的存储容量和处理能力。分片是MongoDB为了应对大数据量和高吞吐量需求而设计的一种分布式架构。


一、分片概念

1.分片键(Shard Key):MongoDB使用分片键来决定数据如何分布在不同的分片上。分片键可以是文档中的一个字段或字段组合,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的集群搭建操作,如有错误,在评论区和我讨论哦,谢谢观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/370354.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.x86游戏实战-汇编指令lea

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

【IT领域新生必看】 Java编程中的重载(Overloading):初学者轻松掌握的全方位指南

文章目录 引言什么是方法重载(Overloading)?方法重载的基本示例 方法重载的规则1. 参数列表必须不同示例: 2. 返回类型可以相同也可以不同示例: 3. 访问修饰符可以相同也可以不同示例: 4. 可以抛出不同的异…

Amesim应用篇-信号传递

前言 在Amesim中常见的信号传递是通过信号线连接,针对简单的模型通过信号线连接还可以是信号线清晰规整,方便查看。如果模型较复杂,传递信号的元件较多时,此时再继续使用信号线进行信号传递,可能会使草图界面看起来杂…

在原有的iconfont.css文件中加入新的字体图标

前言:在阿里图标库中,如果你没有这个字体图标的线上项目,那么你怎么在本地项目中的原始图标文件中添加新的图标呢? 背景:现有一个vue项目,下面是这个前端项目的字体图标文件。现在需要新开发功能页&#x…

磁盘分区工具 -- 傲梅分区助手 v10.4.1 技术员版

软件简介 傲梅分区助手是一款功能强大的磁盘分区工具,它专为Windows系统设计,帮助用户更高效地管理他们的硬盘。该软件支持多种分区操作,包括创建、格式化、调整大小、移动、合并和分割分区。此外,它还提供了复制硬盘和分区的功能…

InspireFace-商用级的跨平台开源人脸分析SDK

InspireFace-商用级的跨平台开源人脸分析SDK InspireFaceSDK是由insightface开发的⼀款⼈脸识别软件开发⼯具包(SDK)。它提供了⼀系列功能,可以满⾜各种应⽤场景下的⼈脸识别需求,包括但不限于闸机、⼈脸⻔禁、⼈脸验证等。 该S…

C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例

C(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例 文章目录 C(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例1、概述2、实现效果3、主要代码4、源码地址 更多精彩内容👉个人内容分类汇总 👈👉GIS开发 👈 1、概述 支持多线程加…

java版本工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统

工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的…

【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)

目录 一、前言 二、什么是C模板? 💦泛型编程的思想 💦C模板的分类 三、非类型模板参数 ⚡问题引入⚡ ⚡非类型模板参数的使用⚡ 🔥非类型模板参数的定义 🔥非类型模板参数的两种类型 &#x1f52…

Java视频点播网站

作者介绍:计算机专业研究生,现企业打工人,从事Java全栈开发 主要内容:技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流(SCI论文两篇) 上点关注下点赞 生活越过…

ElementPlusError: [ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档

一、问题描述: 今天在使用elementui plus的时候遇到了一个奇葩的问题, 就是提示 使用了一些已被废弃的用法, 奇葩就在于我是 复制另一个页面的分页, 一摸一样的东西,就只这个页面报错, 分页也不出 为了这个…

初识STM32:开发方式及环境

STM32的编程模型 假如使用C语言的方式写了一段程序,这段程序首先会被烧录到芯片当中(Flash存储器中),Flash存储器中的程序会逐条的进入CPU里面去执行。 CPU相当于人的一个大脑,虽然能执行运算和执行指令,…

linux centos 安装niginx并且添加ssl(https)模块

文章目录 前言一、nginx安装教程1.流程步骤 总结 前言 一、nginx安装教程 1.流程步骤 代码如下(示例): 1.先下载linux安装包 2.解压安装命令 sudo tar -zxvf nginx-1.20.1.tar.gz3.进入解压后的目录 sudo cd nginx-1.20.14.安装 sudo y…

baomidou多数据源切换注解@DS没有效果

baomidou多数据源切换注解DS没有效果 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.1.1</version> </dependency> ##原因 方法上有Transaction…

jmeter-beanshell学习3-beanshell获取请求报文和响应报文

前后两个报文&#xff0c;后面报文要用前面报文的响应结果&#xff0c;这个简单&#xff0c;正则表达式或者json提取器&#xff0c;都能实现。但是如果后面报文要用前面请求报文的内容&#xff0c;感觉有点难。最早时候把随机数写在自定义变量&#xff0c;前后两个接口都用这个…

EtherCAT转Profinet网关配置说明第二讲:上位机软件配置

EtherCAT协议转Profinet协议网关模块&#xff08;XD-ECPNS20&#xff09;&#xff0c;不仅可以实现数据之间的通信&#xff0c;还可以实现不同系统之间的数据共享。EtherCAT协议转Profinet协议网关模块&#xff08;XD-ECPNS20&#xff09;具有高速传输的特点&#xff0c;因此通…

算法题-回文子串和最长回文子序列

算法题-回文子串和最长回文子序列 一、647. 回文子串二、516. 最长回文子序列 一、647. 回文子串 中等 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个…

云端AI大模型群体智慧后台架构思考

1 大模型的调研 1.1 主流的大模型 openai-chatgpt 阿里巴巴-通义千问 一个专门响应人类指令的大模型。我是效率助手&#xff0c;也是点子生成机&#xff0c;我服务于人类&#xff0c;致力于让生活更美好。 百度-文心一言&#xff08;千帆大模型&#xff09; 文心一言"…

六、数据可视化—flask框架入门(爬虫及数据可视化)

六、数据可视化—flask框架入门&#xff08;爬虫及数据可视化&#xff09; 1&#xff0c;数据可视化简介2&#xff0c;flask&#xff08;1&#xff09;创建flask项目&#xff08;2&#xff09;开启debug模式&#xff08;3&#xff09;通过访问路径传递参数&#xff08;4&#x…

Windows ipconfig命令详解,Windows查看IP地址信息

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 ipconfig 1、基…