mongdb 复制集+仲裁(带权限认证)

mongdb 复制集+仲裁(带权限认证),第1张

mongdb复制集+仲裁(带权限认证)

一.自然环境

1.构架图解

2.详细部署

10.10.17.26:27000 (primary) 10.10.17.27:27000 (secondary) 10.10.2.74:27000    (arbiter)

3.软件版本

mongdb :2.6.11 系统软件:centos 6.6


二、安装和设备

1.安装见mongodb安装。

2.编写环境变量

vi /etc/mongod_27000.conf logpath=/data/mongodb/navy_db/log/mongod.log #mongodb日志文件 logappend=true   #增加方法写日志文件 fork=true        #后台程序 port=27000       #mongodb端口 dbpath=/data/mongodb/navy_db/db pidfilepath=/data/mongodb/navy_db/log/mongod.pid bind_ip=0.0.0.0 rest = true       #打开web浏览 journal = true  #开启日志选择项,MongoDB的数据信息实际 *** 作可能载入到journal文件夹名称的文档里 oplogSize=2048  #同步控制纪录图片大小(MB) replSet=dbset   #团本集名字,同一个团本集,名字务必一致 auth=true       #打开认证 keyFile=/data/mongodb/navy_db/password.key   #key验证

3.形成密钥文件文档

echo "c57a012cf2f8a8e20dd4b21a7fae48b3" >/data/mongodb/navy_db/password.key

4.设置密钥文件管理权限,必须是600。

chmod 600 /data/mongodb/navy_db/password.key

5.启动服务项目。

ulimit -s 4096 && ulimit -m 16777216 & numactl --interleave=all  /usr/bin/mongod  -f /etc/mongod_27000.conf

PS:

在装备集群之前,要先把auth和keyFile注释掉,在集群重置的时候,创建一个客户(不需要从库里面建客户,但是在集群重置的时候,会从主库里面回来。如果一个客户是从库中构建的,集群重置会出错,提醒已有数据信息从库中获取),然后打开并重启服务项目使其工作。

三。集群配置

#use到admin use admin 建立配备(dbset是群集名字,务必和环境变量中replSet的值一样) config = { _id:"dbset", members:[ ... ... {_id:1,host:"10.10.11.34:27000"}, ... ... {_id:2,host:"10.10.16.6:27000"} ] ... ... } #复位群集  rs.initiate(config); #加上诉讼连接点 rs.addArb("10.10.2.74:27000") #查询群集情况  rs.status()

PS:其他常用命令

#删掉一个连接点 rs.remove("10.10.2.74:27000") #查询群集配备信息内容 rs.conf() #查询当今哪位primary rs.isMaster() #查询主从关系廷时 rs.printSlaveReplicationInfo() #查询rs有关指令 rs.help()

Rs.status()结果显示

1. STARTUP:刚添加到拷贝集中化,配备还未载入 2. STARTUP2:配备已载入完,复位情况 3. RECOVERING:已经修复,不适合读 4. ARBITER: 仲裁者 5. DOWN:连接点不能抵达 6. UNKNOWN:未获得别的连接点情况而不知道是啥情况,一般产生在仅有2个组员的构架,脑裂 7. REMOVED:清除拷贝集 8. ROLLBACK:数据信息回退,在回退完毕时,迁移到RECOVERING或SECONDARY情况 9. FATAL:失败。查询日志grep “replSet FATAL”找到错缘故,再次做同歩 10. PRIMARY:主连接点 11. SECONDARY:备份数据连接点

四。创建客户(仅主要连接点的实际 *** 作)

use admin db.addUser('admin','123456')                #创建管理员账号 use navy_db  #假如navy_db存有就进到库,假如不会有就创建navy_db库,空库show dbs是看不见的 db.addUser('navy_db_pro','123456')        #创建navy_db的读写能力账户 db.addUser('navy_db_sel','123456',true)  #创建navy_db的写保护账户

动词(verb的缩写)重新启动集群

去掉auth和keyFile的注释,重启arbitrator、secondary和primary三个连接点使其工作。

 rs.status() 查询群集情况是不是ok

PS:

1.无法读取库中的默认设置。如果必须要展示从图书馆的阅读业务流程,就必须进行一些设置。

db.getMongo()。setSlaveOk()

2.mongdb的手机客户端驱动适用于这种架构。主库挂机,辅助提升为主,应用基础完全透明。

client=MongoClient(“mongdb://navy_db_pro:[email protected]:27000,10.10.17.27:27000/navy_db”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/780103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存