设为首页 收藏本站
查看: 1234|回复: 0

[经验分享] mongodb之replSet复制集 + auth

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-22 08:48:17 | 显示全部楼层 |阅读模式
### 开启auth认证的mongodb的复制集


### 注意点
- 服务器节点之前时间要同步
- 开启防火墙的一定要允许通过
- 开启selinux的也要进行设置
- 建立双击互信模式最好不过




### 提前要做的事情
  • 生产高端大气上档次的keyFile文件


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@redis journal]# openssl rand -base64 753
3LC/EZGPOLXdVBQInqeKVglqNNWo2Et93ib51BQJZRAUB2gRUovi4b6ZkAeNAQxc
vu3UEOLWA9IyWvHy6g3rAQ8lAWqVX+dIJ52Lf5EKiUp9uTwqlzGd6FKgtheN6hNL
HV1YhwdzHLN7itmUgcTSe5qCSNJJijQh+OtKipkPH3laE+UxvC4rafPqNtzcBBjU
7P2GOAq7zyHqT68IBysNzcdribb9qVQ35Q+kFG3sB4ne26pgk2qjnUYAK2r42BLm
ec6VfKw0LnemJsSCB1d2M+5fLMvBe8w59lOL7/n8IHeeT4jiTmFhrWcgyTATK7D3
16Zbf8DJOkHobfnW7v0eUJINAS7BrVLjItSR51qQ4nqQAQpWd5DyNCsycDcNIzQj
u9pGO2OzBiroOlo/tz/tLjS8jPHaa7GamOI+L+OF1sn9ytpSq0T0BswItbaNIFjr
g97Nj6iwL86zblDY1U2380qBqKZdBP/yZdYi9Mj05328PdjPvF32vPt3wAHmkxTW
zHXMELO6AO4q4LxTPUbIGuLzbeGoLF/ZZia5ndXWzJxVaLNUxxdzrCtcoCXvfwXw
NXiN6Gg2Ep/IwkVZtNILtmbUZG51q45bb7afvS7p27P89WTk0TZ4rWNdnpNNJ1ry
Nwz8jMUFe9DdAY50KYUqYiIEDFltICYycnXwtmKYTpaun/6gXLKKp6PwHtfdid1t
v6dkv1FHB0fU0bReOBTTSfaFkwbdKcxHcLV2p6xiFdRKLMGDrgCQNXlJN0SaUUgP
U55DrScsWT3A6Pzx2Ga6yl/xnGaJpXBHb+g2gWFhSL64oo58KB4e1TQT5z/pkI0Y
Ow+GLv8m82K2epU7hpTB6ks0PZcalGlGPy4OBxu7tNQqJIY/pLa60Gtqbs5KBCIX
p7MV9JxCnOML68JU3ZKqlZUIkZeNSLpFXbnHNsuRtXWRuARdb3WM6BxsNS6uOfjA
/iYa0dsUtz5w8z6CQOEJ0bPo5GjpA95WSjXnwiCY8Hvf
[iyunv@redis journal]#




  • - 把生产的key复制到/usr/local/mongodb/key
  • - 设置key文件的权限为600
  • - 修改key文件的属主属组



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[iyunv@redis mongodb]# ll
total 72
drwxr-xr-x 2 mongodb mongodb  4096 Jul 19 12:58 bin
-rw-r--r-- 1 mongodb mongodb 34520 Jun 19 22:41 GNU-AGPL-3.0
-rw-r--r-- 1 root    root     1020 Jul 21 08:26 key
-rw-r--r-- 1 mongodb mongodb     5 Jul 21 07:54 mongo.pid
-rw-r--r-- 1 mongodb mongodb  1359 Jun 19 22:41 README
-rw-r--r-- 1 mongodb mongodb 17793 Jun 19 22:41 THIRD-PARTY-NOTICES
[iyunv@redis mongodb]# chmod 600 key
[iyunv@redis mongodb]# ll
total 72
drwxr-xr-x 2 mongodb mongodb  4096 Jul 19 12:58 bin
-rw-r--r-- 1 mongodb mongodb 34520 Jun 19 22:41 GNU-AGPL-3.0
-rw------- 1
mongodb mongodb
  1020 Jul 21 08:26 key
-rw-r--r-- 1 mongodb mongodb     5 Jul 21 07:54 mongo.pid
-rw-r--r-- 1 mongodb mongodb  1359 Jun 19 22:41 README
-rw-r--r-- 1 mongodb mongodb 17793 Jun 19 22:41 THIRD-PARTY-NOTICES
[iyunv@redis mongodb]#






### 把key文件复制到另外一个节点上去

  • - 注意属组属主
  • - 创建一个全局账户


1
2
3
4
5
6
7
8
9
10
11
>
> show dbs
admin  (empty)
local  1.078GB
test   (empty)
> use admin
switched to db admin
> db.addUser("zhuima","zhuima")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "zhuima", "roles" : [ "root" ] }
>










### 主服务器配置文件

1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@redis mongodb]# sed -e '/^$/d;/^#/d' /etc/mongod.conf
port=27017
dbpath=/mongo/data/mongodb_data/
logpath=/mongo/data/mongodb_log/mongodb.log
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true
logappend=true
shardsvr=true
directoryperdb=true
replSet=zhuima
keyFile=/usr/local/mongodb/key
bind_ip=192.168.58.30








### 从服务器上配置文件

1
2
3
4
5
6
7
8
9
10
[iyunv@mongo1 data]# vim /etc/mongod.conf
[iyunv@mongo1 data]# sed -e '/^$/d;/^#/d' /etc/mongod.conf
logpath=/var/log/mongodb/mongod.log
logappend=true
fork=true
dbpath=/mongo/data
pidfilepath=/var/run/mongodb/mongod.pid
bind_ip=192.168.58.10
replSet = zhuima
keyFile = /mongo/data/key




### 重启mongodb服务观察结果
  • - 初始化副本集

1
> rs.initiate()



  • - 由下面的可以看出,keyFile默认就包含了开启auth功能


1
2
3
4
5
6
7
zhuima:SECONDARY> show dbs
2014-07-21T08:52:44.617+0200 listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} at src/mongo/shell/mongo.js:47
zhuima:SECONDARY>









### 验证信息
  • - 主节点上


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
zhuima:PRIMARY> show dbs
admin  0.078GB
local  1.078GB
zhuima:PRIMARY> use zhuima
switched to db zhuima
zhuima:PRIMARY> info = {Name:"zhuima",Age:26,Gender:"F",Address:"Beijing China"}
{
"Name" : "zhuima",
"Age" : 26,
"Gender" : "F",
"Address" : "Beijing China"
}
zhuima:PRIMARY> db.person.insert(info)
WriteResult({ "nInserted" : 1 })
zhuima:PRIMARY> db.person.find()
{ "_id" : ObjectId("53ccb955f09dbb6f5a213faf"), "Name" : "zhuima", "Age" : 26, "Gender" : "F", "Address" : "Beijing China" }
zhuima:PRIMARY>











  • - 从节点上


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
zhuima:SECONDARY> show dbs
admin   0.078GB
local   1.078GB
zhuima  0.078GB
zhuima:SECONDARY> use zhuima
switched to db zhuima
zhuima:SECONDARY> show collections
2014-07-21T08:55:40.267+0200 error: { "$err" : "not master and slaveOk=false", "code" : 13435 } at src/mongo/shell/query.js:131
zhuima:SECONDARY> rs.slaveOk()
zhuima:SECONDARY> rs.slaveOk()
zhuima:SECONDARY> show collections
person
system.indexes
zhuima:SECONDARY> db.person.find()
{ "_id" : ObjectId("53ccb955f09dbb6f5a213faf"), "Name" : "zhuima", "Age" : 26, "Gender" : "F", "Address" : "Beijing China" }
zhuima:SECONDARY>






### 关于mongodb 复制集 + auth的配置要感谢灿哥的指点



### 后记:
  • 生产环境中虽说mongdb不对外服务,但是加上auth认证总归是有好处的
  • 还记得曾经被乌云爆过的痛么~
  • 后续博客将会讲诉索引记忆分片操作




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22450-1-1.html 上篇帖子: mongodb之replSet复制集 下篇帖子: monogdb之数据备份恢复与数据的导入导出
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表