mongodb3.6集群搭建:分片集群认证
上篇集群已经创建,现在加入认证。
1. 生成密钥文件
每个服务器上创建路径:
mkdir -p /var/lib/mongo/auth
生成64字节的密钥文件
openssl rand -base64 64 > /var/lib/mongo/auth/keyfile.key
把密钥文件复制到集群中每一个结点上(路由结点,元配置结点,分片结点上都要有这个密钥文件)
scp /var/lib/mongo/auth/keyfile.key root@node2:/var/lib/mongo/auth
scp /var/lib/mongo/auth/keyfile.key root@node3:/var/lib/mongo/auth
把密钥文件的权限设置为600,owner为mongod(启动mongo实例的用户)
chown -R mongod:mongod /var/lib/mongo/auth
chmod 600 /var/lib/mongo/auth/keyfile.key
2. 创建集群用户
每个结点(每个分片结点,每个路由结点)上都要创建创建admin库的管理员用户
mongo 127.0.0.1:20000/admin
db.createUser(
{
user : "admin",
pwd : "admin123456",
roles :
[
{ role : "root", db : "admin" },
{ role : "clusterAdmin", db : "admin" }
]
}
)
创建业务库用户(这里是test),需要在每个结点(每个分片结点,每个路由结点)上都要创建用户
use test
db.createUser(
{
user : "test",
pwd : "test123456",
roles :
[
{ role : "dbOwner", db : "test" },
{ role : "clusterAdmin", db : "admin" }
]
}
)
3. 开启集群认证
在每个结点(路由结点,元配置结点,分片结点)的配置文件中加入keyFile的配置项;
security:
keyFile: /var/lib/mongo/auth/keyfile.key
在每个元配置结点和分片结点(即除了mongos结点)的配置文件中加入authorization配置项
security:
authorization: enabled
关闭集群
按照路由结点、分片结点、配置结点顺序,依次关闭各结点服务:
systemctl stop mongod-mongos
systemctl stop mongod-shard3
systemctl stop mongod-shard2
systemctl stop mongod-shard1
systemctl stop mongod-configsvr
重新启动集群
systemctl start mongod-configsvr
systemctl start mongod-shard1
systemctl start mongod-shard2
systemctl start mongod-shard3
systemctl start mongod-mongos
4. 验证集群的认证
mongo 127.0.0.1:20000/admin
use admin
db.auth(“admin”, ” admin123456”)
查看分片状态
db.printShardingStatus()
use test
db.auth(“test”,”test123456”)
查看该库中的该表的集群状态
db.users.stats()
若发现里面最开始的sharded字段是true,则表示添加认证功能后的集群没有出现异常
mongodb3.6集群搭建:分片集群认证的更多相关文章
- MongoDB集群搭建-分片
MongoDB集群搭建-分片 一.场景: 1,机器的磁盘不够用了.使用分片解决磁盘空间的问题. 2,单个mongod已经不能满足写数据的性能要求.通过分片让写压力分散到各个分片上面,使用分片服务器自身 ...
- MongoDB 搭建分片集群
在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(S ...
- mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 区域
这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...
- mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全
这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...
- mongo 3.4分片集群系列之二:搭建分片集群--哈希分片
这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...
- MongoDB Sharding(二) -- 搭建分片集群
在上一篇文章中,我们基本了解了分片的概念,本文将着手实践,进行分片集群的搭建 首先我们再来了解一下分片集群的架构,分片集群由三部分构成: mongos:查询路由,在客户端程序和分片之间提供接口.本次实 ...
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- MongoDB集群搭建-副本集
MongoDB集群搭建-副本集 概念性的知识,可以参考本人博客地址: 一.Master-Slave方案: 主从: 二.Replica Set方案: 副本集: 步骤:(只要按步骤操作,100%成功) 1 ...
随机推荐
- Teamwork(The eighth day of the team)
在经过算是蛮艰辛的努力后吧,我们终于有了一点点成果.虽然还离理想中的蛮遥远的,但是我们相信,虽然我们走得很慢,但是我们一直都会坚持前进.
- 在新的电脑上部署 Hexo,保留原有博客的方法
用U盘从旧的电脑拷贝整个blog文件夹. 在新的电脑上装好git并配置好用户名和密钥. 安装 node.js 安装 hexo:npm install hexo-cli -g 用U盘把blog文件夹拷贝 ...
- 继《在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib》修订
在之前的<在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib>中有些问题,后来由于时间不是很充足,故现在对其中的问题进行完善,如下所示对红色框框中的相应的 ...
- jQuery之_事件绑定与解绑
使用jQuery实现事件的绑定和解绑 就是所谓的事件操作. 1. 事件绑定(2种): * eventName(function(){}) 绑定对应事件名的监听, 例如:$('#div').click( ...
- 10th 规格说明书练习——吉林一日游
活动规格说明书 吉林市一日游 版本:1.0 编订:王东涵 团队:2016级计算机技术全体同学 日期:2016-11-20 目录 1.引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 ...
- Java容器深入浅出之Map、HashMap、Hashtable及其它实现类
在Java中,Set的底层事实上是基于Map实现的,Map内部封装了一个Entry内部接口,由实现类来封装key-value对,当value值均为null时,key的集合就形成了Set.因此,Map集 ...
- python使用SMTP发送qq/sina邮件
python使用qq邮箱(个人邮箱)发送邮件需开启qq邮箱的SMTP服务 在设置中开启pop3/SMTP服务,返回的密码就是之后代码中登录使用账户密码(在完整代码中标识了出来) 之后出现如下错误 sm ...
- module.exports 、 exports 和 export 、 export default 、 import
1:commonjs规范 module.exports={a:10,b:20} var test=require('lib/test') console.log(test.a);console.log ...
- AFO NOI2018退役——菜鸡一直是菜鸡
游记DAY -INF连续几天的模拟让我确信我就是菜鸡.以及相信yxd,sjq,cyl神犇一定能够稳了. DAY 0报道,天很热热热热热热热热热. DAY 1开幕式,杜子德很热热热热热热热热热. DAY ...
- 【NOI 2018】屠龙勇士(扩欧)
题意理解错了... 一把剑打一条龙,打了$x$次后如果龙不死,你就Game Over了. 显然,面对每条龙使用的剑是固定的,如果所有龙中有一条没打死你就挂了. 可以知道,可行的答案集合就是所有龙的可行 ...