MongoDB分片指令详解(mongo数据库分片指令)

随着数据量的增大,单机部署的MongoDB已经不能够满足大规模应用的需求。为了解决这个问题,MongoDB提出了分片的概念,将数据分散存储在不同的节点上,从而实现高可用、高性能的集群架构。本文将详细介绍MongoDB分片指令的使用方法和注意事项。

10多年专注成都网站制作,企业网站制作,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站制作,高端网页制作,对成都服务器租用等多个行业,拥有丰富的网站推广经验。

一、启用分片

在启用分片之前,需要进行以下准备工作:

1. 确定分片节点的数量和准备相应数量的服务器。

2. 开启MongoDB的sharding功能。

3. 配置MongoDB的路由器节点(mongos)。

在准备工作完成后,可以开始启用分片,具体操作如下:

1. 首先连接到mongos节点:

mongo –host 端口号 –username 用户名 –password 密码

2. 然后执行enablesharding命令,开启分片功能:

> sh.enableSharding(“数据库名称”)

其中,数据库名称是需要启用分片的数据库。

3. 接着执行sharding命令,将分片:

> sh.shardcollection(“数据库名称.名称”, { “分片键”: 1 })

此命令的参数意义如下:

– 数据库名称.名称:需要分片的。

– 分片键:用于分片的关键字。

– { “分片键”: 1 }:分片键的具体实现,1表示升序,-1表示降序。

二、查看分片状态

启用分片后,可以使用以下指令查看分片的状态:

1. 查看分片状态:

> sh.status()

此命令可以查看当前的分片状态,包括分片节点的状态、分片键、分片数据的大小等信息。

2. 查看分片的chunk数量:

> db.collection.getShardDistribution()

此命令可以查看指定的分片chunk数量和状态。

三、添加和移除分片节点

在分片运行期间,可能需要添加或移除分片节点。新增和移除节点的操作涉及到多个步骤和指令,具体如下:

1. 添加节点

1)启动mongodb实例

mongod –shardsvr –replSet rs0 –dbpath /data/db

此命令会启动一个新的mongodb节点,并以rs0为副本集。

2)连接到mongos

mongo –host 端口号 –username 用户名 –password 密码

3)添加节点

> sh.addShard(“rs0/IP地址:端口号”)

其中,rs0为节点副本集的名称,IP地址和端口号为新节点的地址。

2. 移除节点

1)查看节点列表

> sh.status()

2)连接到需要移除的节点

mongo –host IP地址 –port 端口号

3)关闭该节点

use admin

db.shutdownServer()

4)连接到mongos,并移除节点

> sh.removeShard(“节点名称”)

其中,节点名称是需要移除的节点在分片集群中的名称。

四、添加和移除sharding的单个分片

在分片运行期间,可能需要添加或移除sharding的单个分片。新增和移除的操作涉及到多个步骤和指令,具体如下:

1. 添加分片

1)连接到mongos

mongo –host 端口号 –username 用户名 –password 密码

2)添加分片

> sh.shardCollection(“数据库名称.名称”, { 分片键: 1 })

其中,数据库名称.名称是需要添加分片的名称,分片键是按照该关键字进行分片划分,1表示升序。

2. 移除分片

1)连接到mongos

mongo –host 端口号 –username 用户名 –password 密码

2)移除分片

> db.collection.drop()

其中,collection为需要移除的分片名称。

五、

通过本文的介绍,读者可以了解MongoDB分片指令的使用方法和注意事项。在实际应用中要根据自己的需求进行合理配置和调整,以达到高可用和高性能的集群效果。

相关问题拓展阅读:

  • 如何在window下使用mongodb

如何在window下使用mongodb

1、下载MongoDB数据库;

2、将安装文件解压到C盘(注意:安装路径中不能出现空格),配置“环境变量”,将 %MONGODB_HOME%in 添加到“Path”中;

3、进入DOS窗口,设置数据保存目录(与端口)和日志输出目录。

DOS命令:

mongod –port –dbpath –logpath –logappend –directoryperdb

参数说明:

–port 表示数据库端口,默认27017;

–dbpath 表示数据文件存储路径,一般设置为%MONGODB_HOME%data;

–logpath 表示日志文件存储路径,一般设置为%MONGODB_HOME%logongodb.log;

–logappend 表示日志追加,默认是覆盖;

–directoryperdb 表示每个db一个目录;

4、完成以上设置,MongoDB已经启动,新开启DOS窗口,执行“mongo.exe”,出现“MongoDB shell version: 1.8.1”表示安装成功了。

5、目前是以无权限限制的方式启稿穗裤动的,你可以做任何操作。那么我们先切换到admin下,创建一个root用户吧。执行命令:

“use admin” -> “键简db.addUser(“root”,”root”)” -> “db.auth(“root”,”root”)”,如下图所示:

6、把MongoDB注册为Windows Service,让它开机自动启动;执行命令:

mongod –bind_ip 127.0.0.1 –logpath %MONGODB_HOME%logongodb.log –logappend –dbpath %MONGODB_HOME%data –directoryperdb –auth –install

注意:

a.必须切换到bin目录下执行该条指令。

b.必须添加–auth用户权限才会生效。

c.除了“–auth”和“–install”两个参数,别的参数要跟你设置用户时启动服务的参数一致,尤其是“–directoryperdb”。

之一次配置完成后,一定要重启才会有效果 重启mongo客户端,不输入-u-p可以直接进入,但是不具有任何权限。正确的访问方式为:mongo 数据库名 -u 用户名 -p。另外设置用户

7、服务安装成功后的界面:

8、如果安装失败:

删除MongoDB服务,执行命令:

sc delete MongoDB

启动MongoDB服务,执行命令:

net start “MongoDB”

9、在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:

启动:net/sc start 服务名

停止:net/sc stop 服务名

10、另外,sc可用于打开被禁用的服务,语法是:

sc config 服务名 start= demand //手动

sc condig 服务名 start= auto //自动

sc config 服务名 start= disabled //禁用

注意:以上三个命令“=”号后面必须有一个空格

Mongo(也译芒果)名字来自humongous,意思是巨大无比的,极大的。它是一个高性能,开源,无模式的文档型NOSQL数据库。Mongo使用C++开发,提供了以下功能:

面向的存储:适合存储对象及ON形式的数据。

动态查询:Mongo支持丰富的查询表达式。查询指令使用ON形式的标记,可轻易查询文档中内嵌的对象及数组。

完整的索引支持:包括文档内嵌对象及数组。Mongo的族局查询优化器会分析查询表达式,并生成一个高效的查询计划。

查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。

复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。

高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。

自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,在32位模式运行时支持的更大文件尺寸为2GB。

常用启动参数:

–dbpath 指定特定存储目录启动,若目录不存在则创建。默认目录为/data/db。例:./mongod –dbpath /var/data/mongo

–port 指定端口启动。默认端口为27017。例:./mongod –port

windows 下使用方法

直接启动:

$ bin/mongod.exe #启动服务器

$ bin/mongo.exe #启动客户端连接

注册为服务,这样以后开机就可以自动启动

$ bin/mongod.exe –logpath c:\data\log.log –logappend –dbpath “c:\data\db” –install #主要是install 参数,要新建c:\data\log.log文件和c:\data\db目录

删除服务

$ bin/mongod.exe –remove

当注册为服务时可以Win+R打开运行,输入services.msc来查看服务状态

常见错误

1、monge.exe客户端连接时报错:couldn’t connect to server 127.0.0.1 shell/mongo.js:79

这是因为monged.exe启动失败

2、多次尝试后monged.exe启动失败,始终没找到原因

这个错误困扰了我一段时间,后来发现c:\data\db下有个mongod.lock锁文件,把这个文件删除后,重新启动服务器就可以了。

服务启动报错: error2: system can not find the file specified.

solution:

安装服务的时候, 你需要用 mongod.exe的 full path

C:\mongodb-win32-i386-1.8.2\bin\mongod.exe –logpath c:\mongo

db\logs\mongo.log –dbpath c:\mongodb\data\db –directoryperdb –install

to remove service

C:\mongodb-win32-i386-1.8.2\bin\mongod.exe –logpath c:\mongo

db\logs\mongo.log –dbpath c:\mongodb\data\db –directoryperdb –remove

and re open windows service windows, the original service will gone.

mongo 数据库分片指令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mongo 数据库分片指令,MongoDB分片指令详解,如何在window下使用mongodb的信息别忘了在本站进行查找喔。

香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。

网站标题:MongoDB分片指令详解(mongo数据库分片指令)
本文路径:http://www.mswzjz.cn/qtweb/news23/290373.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能