MongoDB集群管理常用操作

#查看集群中的所有分片:

db.adminCommand( { listShards: 1 } )

#删除分片

删除分片可参考:https://docs.mongodb.com/manual/tutorial/remove-shards-from-cluster/

(注:删除分片前先要保证balancer是enabled)

use admin

db.runCommand( { removeShard: "mongodb0" } )

#从副本集中删除一个成员,步骤如下:

1、通过mongo shell登陆分片的primary,删除指定的副本集成员,如

rs.remove("15.62.32.123:27021")

#添加新节点到集群的某一个分片中,步骤如下:

1、设置好新节点机器的staticIP

2、下载mongodb安装包到新节点机器,新建好log目录,data目录和keyFile文件目录

3、开放相关的防火墙(如27017或27018等)

4、启动需要添加到分片(副本集)中的mongod实例,如

mongod -f /usr/local/mongodb/bin/rs1_member.conf

5、通过mongo shell登陆分片的primary,添加新节点到副本集中,如

rs.add({host: "15.62.32.111:27018", priority: 1 })  

rs.add({host: "15.62.32.109:30001", arbiterOnly: true }) //添加仲裁节点
rs.add({host: "15.62.32.109:30003", arbiterOnly: true }) //添加仲裁节点

rs.add({host: "15.62.32.123:27021", priority: 0, hidden: true})  //添加隐藏节点

rs.add({host: "15.62.32.123:27021", priority: 0, hidden: true, slaveDelay:  259200})  //添加延时节点

#给集群新增用户,如:

首先使用带有“userAdmin”角色的用户登录集群,执行如下命令

use admin
db.createUser(
  {
    "user" : "backupUser",
    "pwd" : "123",
    roles: [{role:"backup", db:"admin"}]
  }
)
db.auth("backupUser","123")  //使新增的用户生效

至此,就完成了新增一个用户备份整个集群的用户

#给集群用户新增权限,如:

use admin

db.grantRolesToUser(
"pubUser",
[{role:"readWrite", db:"Philippines"},
{role:"readWrite", db:"Italy"},
{role:"readWrite", db:"India"},
{role:"readWrite", db:"Japan"}]
)

#修改用户密码

1. 登录admin数据库

2. 执行如下命令

db.changeUserPassword('用户名','密码')

#查看系统的连接情况

db.serverStatus().connections  //登陆副本集,运行如下命令

运行结果如下:

{ "current" : 57, "available" : 26157, "totalCreated" : NumberLong(1287) }

 "current" : 表示已经占用了的连接数,"available" :表示剩余可用的连接数,"totalCreated" : 表示历史接入的连接数之和(重启后会归零,重新开始计数),使用这些信息可以评估服务器当前的连接负载和容量需求。详细的参数说明可以参考:https://docs.mongodb.com/manual/reference/command/serverStatus/#dbcmd.serverStatus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值