一.自然环境
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.key4.设置密钥文件管理权限,必须是600。
chmod 600 /data/mongodb/navy_db/password.key5.启动服务项目。
ulimit -s 4096 && ulimit -m 16777216 & numactl --interleave=all /usr/bin/mongod -f /etc/mongod_27000.confPS:
在装备集群之前,要先把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() 查询群集情况是不是okPS:
1.无法读取库中的默认设置。如果必须要展示从图书馆的阅读业务流程,就必须进行一些设置。
db.getMongo()。setSlaveOk()
2.mongdb的手机客户端驱动适用于这种架构。主库挂机,辅助提升为主,应用基础完全透明。
client=MongoClient(“mongdb://navy_db_pro:[email protected]:27000,10.10.17.27:27000/navy_db”欢迎分享,转载请注明来源:内存溢出
评论列表(0条)