MongoDB集群相关操作命令

导读:本篇文章讲解 MongoDB集群相关操作命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

概述

集群相关配置命令都是在Mongos服务上执行的。
每个命令通常有runCommand(需要切换到admin数据库),adminCommand(无需切换到admin数据库),sh(需要切换到admin数据库)三个版本。

集群配置

# 初始副本集配置(加载rsconf配置)
rs.initiate({
	_id:'yidian_repl', // 这里的_id要与配置文件中指定的服务所属的复制集相同
	members:
	[
		{
			_id:1, // 成员的id
			host:'192.168.230.128:27017' // 成员所属节点的ip以及该成员服务启动时所占的端口
		},
		{
			_id:2,
			host:'192.168.230.129:27017'
		},
		{
			_id:3,
			host:'192.168.230.130:27017'
		},
	]
});	

查看集群(分片)状态

# 查看副本集状态
rs.status();

分片操作

添加shard复制集

db.runCommand({addshard:
"yidian_repl/192.168.230.128:27017,192.168.230.129:27017,192.168.230.130:27017",name:"shard1"}); // 需要切换的admin数据库
或者
db.adminCommand({addshard:
"yidian_repl/192.168.230.128:27017,192.168.230.129:27017,192.168.230.130:27017",name:"shard1"}); // 无需切换到admin数据库

删除shard复制集

db.runCommand({removeShard:"shard2"});

查询分片列表

db.runCommand({listshards:1});

开启数据库分片功能

db.runCommand({enablesharding:"testdb"});
或者
sh.enableSharding("<database>")

说明 :数据库名。
示例:sh.enableSharding(“mongodbtest”)
说明:您可以通过sh.status()查看分片状态。

对片键字段建立索引

db.<collection>.createIndex(<keyPatterns>,<options>)

说明
集合名。
包含用于建立索引的字段和索引类型。
常见的索引类型如下:
1:创建升序索引
-1:创建降序索引
“hashed”:创建哈希索引
表示接收可选参数,本操作示例中暂未使用到该字段。

创建升序索引示例:
db.customer.createIndex({name:1})

对集合设置数据分片

db.runCommand({shardcollection:"db.collection",key:{field1:1}}); // 需要切换到admin库,再执行相关命令
或者
db.adminCommand({shardcollection:"db.collection",key:{field1:1}})  // 无需切换到admin库,直接执行admin库中的命令
或者
sh.shardCollection("<database>.<collection>",{ "<key>":<value> } ) // 需要切换到admin库,再执行相关命令

说明
db:数据库名。
collection:集合名。
key:分片的键,MongoDB将根据片键的值进行数据分片。
field1:集合的字段
1:表示基于范围分片,通常能很好地支持基于片键的范围查询。
“hashed”:表示基于哈希分片,通常能将写入均衡分布到各Shard节点中。

示例:
基于范围分片的配置示例:
sh.shardCollection(“mongodbtest.customer”,{“field1”:1})
基于哈希分片的配置示例:
sh.shardCollection(“mongodbtest.customer”,{“field1”:“hashed”})

查询集合分片统计

db.collectionName.stats();

查看分片数据分布

 use dbname
 db.colletionName.getShardDistribution() #可以查看数据分布

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100063.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!