mongodb 副本集搭建

环境
192.168.1.191   master
192.168.1.192   slave,arbiter
OS: ubuntu14.04
mongodb: mongodb-linux-x86_64-ubuntu1404-v3.2-latest.tgz

tar xf mongodb-linux-x86_64-ubuntu1404-v3.2-latest.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-ubuntu1404-v3.2 /usr/local/mongodb
编写配置文件
###master
dbpath=/mongodata/
logpath=/mongodata/log/master.log
pidfilepath=/mongodata/master.pid  
directoryperdb=true
logappend=true  
replSet=buka  
bind_ip=192.168.1.191
port=27017
oplogSize=10000  
fork=true
noprealloc=true

###slave
dbpath=/mongodata/slave
logpath=/mongodata/log/slaver.log
pidfilepath=/mongodata/slaver.pid  
directoryperdb=true
logappend=true
replSet=buka
bind_ip=192.168.1.192
port=27017
oplogSize=10000
fork=true
noprealloc=true

###arbiter
dbpath=/mongodata/arbiter
logpath=/mongodata/log/arbiterr.log
pidfilepath=/mongodata/arbiterr.pid
directoryperdb=true
logappend=true
replSet=buka
bind_ip=192.168.1.192
port=27018
oplogSize=10000
fork=true
noprealloc=true

##创建目录,建议和安装目录分开
    mkdir /mongodata
    mkdir /mongodata/log

##slave和arbiter
    mkdir /mongodata/slave
    mkdir /mongodata/arbiter
    mkdir /mongodata/log

##启动
    cd /usr/local/mongo
    cp bin/mongo /usr/bin/
    cp bin/mongod /usr/bin/

mongod -f master.conf
    mongod -f slave.conf
    mongod -f arbiter.conf

##配置主,备,仲裁节点
    mongo 192.168.1.191            
    cfg={_id:"buka",members:[{_id:0,host:'192.168.1.191:27017',priority:2},{_id:1,host:'192.168.1.192:27017',priority:1},{_id:2,host:'192.168.1.192:27018',arbiterOnly:true}]};
    rs.initiate(cfg)
    rs.status()

##在master节点创建admin db和用户
    mongo 192.168.1.191
    use admin
    db.createUser({user:"admin",pwd:"asd12345",roles:[{ role:"root",db:"admin"}]})
    db.auth('admin','asd12345')  #返回1代表认证成功

##配置节点间加密认证和auth
    在一个节点生成key文件,并拷贝到其它节点
    openssl rand -base64 100 > keyfile0
    chmod 600 keyfile0

##在各节点配置文件中加入下面两行
    auth=true
    keyFile=keyfile0

##重启各节点服务
    mongo 192.168.1.191
    use admin
    db.auth('admin','asd12345')

##创建一个库
    use test1
    db.createUser({user:"test1",pwd:"asd12345",roles:[{ role:"readWrite",db:"test1"}]})
##认证

db.auth("test1","asd12345")   ##返回1代表认证成功

MongoDB副本集部署的更多相关文章

  1. mongodb 副本集部署

    1.安装三节点linux环境:196.168.1.111,196.168.1.112,192.168.1.113(三节点可彼此ping通) 2.三节点安装mongodb,参考https://blog. ...

  2. Mongodb 副本集分片(二)---mongodb副本集部署脚本详解

    分享下,最近做的一主一从一仲裁的示例,如有需要,大家可以扩展成一主两从一仲裁. 大家可以看到  我的集群名字沿用了默认的neunnm,如果是其他的话   大家注意修改. 需要辅助文件hosts.con ...

  3. mongodb副本集原理及部署记录

    工作原理 1.副本集之间的复制是通过oplog日志现实的.备份节点通过查询这个集合就可以知道需要进行复制的操作 2.oplog是节点中local库中的一个固定的集合,在默认情况下oplog初始化大小为 ...

  4. MongoDB副本集(一主两从)读写分离、故障转移功能环境部署记录

    Mongodb是一种非关系数据库(NoSQL),非关系型数据库的产生就是为了解决大数据量.高扩展性.高性能.灵活数据模型.高可用性.MongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模 ...

  5. NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署

    NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MongoDB 是一个基于分布式文件存储的数据库.由 C ...

  6. MongoDB副本集(一主一备+仲裁)环境部署-运维操作记录

    MongoDB复制集是一个带有故障转移的主从集群.是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复.MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一 ...

  7. Mongodb副本集+分片集群环境部署记录

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  8. Mongodb副本集+分片集群环境部署

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  9. MongoDB 带访问控制的副本集部署

    当你需要用到一个MongoDB 副本集集群,用于开发测试时, 可以通过下面的步骤简单完成. 版本及环境 MongoDB4.4  Centos6.5  一. 下载安装 MongoDB Server 及 ...

随机推荐

  1. 《Java并发编程之美》

    简介 码云笔记 java-concurrent/TheBeautyOfConcurrentProgram

  2. 小师妹学JVM之:JIT中的PrintAssembly

    目录 简介 使用PrintAssembly 输出过滤 总结 简介 想不想了解JVM最最底层的运行机制?想不想从本质上理解java代码的执行过程?想不想对你的代码进行进一步的优化和性能提升? 如果你的回 ...

  3. SpringMVC的项目架构思想

    SpringMVC的项目架构思想 一.DO和Model的区别 DO是对数据库表的映射.Model是处理业务逻辑的模型(领域模型).例如:用户信息表和用户密码表分别是两个DO,但是对于实体用户来说,密码 ...

  4. 又一款开源图标库 CSS.GG,值得一用

    嗨,我是 Martin,也叫老王,今天推荐一款好用的开源图标库. 我们平常找图标往往会去 iconfont 但是今天,我们看了 Martin 的文章之后,就会有一个新的选择--CSS.GG Githu ...

  5. thinkphp将对象变成一维数组?

    thinkphp使用select查询出的数据为二维数组,如果想将二维数组转一维,可以使用: $x为二维数组对象 php版本要大于5.5.0 $userid_array = array_column($ ...

  6. Creator填色游戏的一种实现方案

    前言 先上一个辛苦弄出来的gif效果.写公众号时间不长,很多技巧还在慢慢跟小伙伴学习.可关注公众号,回复"绘图"或者"填色"都可获得demo的git地址.请使用 ...

  7. day05 程序与用户交互和基本运算符

    程序与用户交互和基本运算符 目录 程序与用户交互和基本运算符 1.程序与用户交互 1.1什么是与用户交互 1.2为什么要与用户交互 1.3如何与用户交互 1.3.1格式化输出 2基本运算符 2.1算数 ...

  8. jvm之栈、堆

    1. Java Virtual Machine ​ 人群当中,一位叫java的小伙子正向周围一众人群细数着自己取得的荣耀与辉煌.就在此时,c老头和c++老头缓步走来,看着被众人围住的java,c老头感 ...

  9. Python-break/continue

    break:用于终止整个循环 continue:用于终止本次循环,而不终止整个循环的执行

  10. java 面向对象(二十一):属性的赋值顺序

    * ①默认初始化 * ②显式初始化/⑤在代码块中赋值 * ③构造器中初始化 * ④有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * ...