yum实例

vim /etc/yum.repos.d/mongodb-org-3.2.repo

  1. [mongodb-org-3.2]
  2. name=Mongodb
  3. baseurl=http://repo.mongodb.org/yum/redhat/6Server/mongodb-org/3.2/x86_64/
  4. gpgcheck=0
  5. enabled=1

然后yum -y install mongodb-org

便捷启动脚本(更正一下,3.0 以上有自己官方的脚本,而且是有优化过的。即 不推荐使用这个。可以修改/etc/init.d/mongod 里面的配置),注意脚本里用户为mongod,说以定义数据目录的时候和日志 和配置文件的时候都需要chown -R 不然mong连日志都没权限写进去。

(以下都可以复制粘贴执行)

优化一:

  1. echo "never" > /sys/kernel/mm/transparent_hugepage/enabled&&echo "never" > /sys/kernel/mm/transparent_hugepage/defrag

优化二:

  1. cat >/etc/security/limits.d/mongodb-nproc.conf <<V
  2. # Default limit for number of user's processes to prevent
  3. # accidental fork bombs.
  4. # See rhbz #432903 for reasoning.
  5. * soft nproc 35000
  6. mongod soft nproc unlimited
  7. V
  1. #!/bin/bash
  2. instance=$1
  3. action=$2
  4.  
  5. case "$action" in
  6.  
  7. 'start')
  8. mongod -f /etc/$instance.cnf
  9. ;;
  10. 'stop')
  11. mongod -f /etc/$instance.cnf --shutdown
  12. ;;
  13. 'restart')
  14. mongod -f /etc/$instance.cnf --shutdown
  15. mongod -f /etc/$instance.cnf
  16. ;;
  17. esac
  18.  
  19. #当然配置文件要放在/etc/下面咯 by:V
  1. openssl rand -base64 741 > /data/mongo22.key --文件内容采base64编码,一共741个字符
  2.  
  3. 修改文件权限:
  4.  
  5. chmod 600 /data/mongo22.key

配置文件实例

  1. dbpath=/data/mongodata2
  2. fork=true
  3. port=27019
  4. logpath=/data/log/mongolog2/mongodb1.log
  5. auth=true
  6. keyFile = /data/mongo22.key
  7. replSet = qby

其中id 要和 replSet 中设置的一样。而 config_repl 这个名字 可以随意命名,相当于 副本集 的会议室。而members 相当于会议室里的成员。

  1. > config_repl={_id:'gechongrepl',members:[
  2. ... {_id:0,host:'192.168.91.128:27017',priority:10},
  3. ... {_id:1,host:'192.168.91.129:27017',priority:9},
  4. ... {_id:2,host:'192.168.91.130:27017',priority:9}]}

之后的添加和删除节点可以用以下2个步骤来实现。

  1. #比如会议的名称还是和上面一样是config_repl
  2. > config_repl={_id:'gechongrepl',members:[
    ... {_id:0,host:'192.168.91.128:27017',priority:10},
    ... {_id:1,host:'192.168.91.129:27017',priority:9},]}
  3.  
  4. >rs.reconfig(config_repl) #相当于重新加载了配置,这里你可以删除节点或者增加节点。
    >rs.status() #然后查看状态

还有一种用rs.add("127.0.0.1:27020") 或者 rs.remove() 来进行。具体使用哪一种。自己区分。

============接下来 看一下主从。3.X 后面的主从有安全策略。当然要开启用户验证,不然有什么意义呢。 所以必须要开key 选项 这里为主的配置文件

Master

  1. dbpath=/data/mongodata
  2. fork=true
  3. port=27017
  4. logpath=/data/log/mongolog/mongodb1.log
  5. auth=true
  6. master=true
  7. keyFile = /data/mongo.key

Slave

  1. auth=true
  2. dbpath=/data/mongodata
  3. logpath=/data/log/mongolog/mongo1.log
  4. fork=true
  5. port=27017
  6. slave=true #设置为slave
  7. source=172.16.38.178:27017 #指定Master在哪
  8. keyFile = /data/mongo.key

当然也要有一个用户验证。有人会疑惑用哪个用户来进行数据验证和同步呢。Master会将操作记录在 local。oplog里面,然后从服务器定期去获取oplog内容。在slave上执行。

  1. 如果发现主从不同步,从上手动同步
  2.  
  3. db.runCommand({"resync":1}) #验证过,发现admin 里面的表会消失。 知道为什么的,可以告诉我一下。
  4.  
  5. 状态查询
  6.  
  7. db.runCommand({"isMaster":1})
  8. #查询自己是不是master
  1. 在丛库上查询主库地址
  2.  
  3. > use local;
  4. switched to db local
  5. > db.sources.find();
  1. #查看主从复制状态
  2.  
  3. db.printReplicationInfo();

MongoDB-3.2.6 副本集 和主从的更多相关文章

  1. MongoDB 删除,添加副本集,并修改副本集IP等信息

    MongoDB 删除,添加副本集,并修改副本集IP等信息 添加副本,在登录到主节点下输入 rs.add("ip:port"); 删除副本 rs.remove("ip:po ...

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

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

  3. 8.MongoDB系列之创建副本集(一)

    1. 复制简介 在MongoDB中,创建副本集后就可以使用复制功能了,副本集是一组服务器,其中一个是用于处理写操作的主节点,还有多个用于保存主节点的数据副本的从节点,如果主节点崩溃了,则从节点会从中选 ...

  4. MongoDB的主从复制和副本集

    mongoDB的两个特性主从复制和副本集,实现了数据的同步备份 一.主从复制 主从复制是一个简单的数据库同步备份的集群技术.例如主服务器宕机了,可以直接使用从服务器,主服务器恢复后在进行同步,保证了业 ...

  5. MongoDB 2.6配置副本集,支持端口号修改和用户登录认证

    mongoDB系列之(二):mongoDB 副本集 Mongodb2.6副本集验证部署和认证 副本集有以下特点: 1. 最小构成是:primary,secondary,arbiter,一般部署是:pr ...

  6. MongoDB之主从复制和副本集(四)

    简单主从复制 采用一主一从或一主多从的布署模式,可以将读写分离开来,提高数据库的可用性,不过mongodb的主从模式并不能在主节点崩溃后,从节点替换主节点的工作,一般可以在开发阶段使用. 实现步骤 设 ...

  7. mongodb学习之:副本集

    前面一张介绍了主从模式,现在mongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式.副本集不能在一台电脑上操作.需要准备3台电脑进行搭建.副本集就是mongoDB副本所组成的一个集群. ...

  8. MongoDB系列之三(副本集配置)

    今天我测试了一下MongoDB的副本集的配置. 首先从概念上说一下MongoDB副本集和主从复制的区别.其实副本集(Replica Set)是主从复制的高级形式.高级在哪里呢?主动复制实现了数据备份+ ...

  9. mongodb 系列 ~ mongo的副本集(3)

    一 简介:今天咱们来聊聊mongodb复制的具体一些案例 二 副本集 1 当mongodb采用全量复制时,如何观察全量复制的进度 对比文件本身和primary大小 2 mongodb全量复制的过程 旧 ...

随机推荐

  1. 公众平台调整SSL安全策略 不再支持SSLv2、SSLv3版本

    昨天夜间,微信团队发布重要安全策略调整,将关闭掉SSLv2.SSLv3版本支持,不再支持部分使用SSLv2. SSLv3或更低版本的客户端调用.请仍在使用这些版本的开发者于11月30日前尽快修复升级. ...

  2. C和指针 第十章 结构和联合 习题

    1. 记账信息结构联合 typedef struct { unsigned int areaNum; unsigned int transNum; unsigned int station; } ph ...

  3. 修改mysql默认字符编码出现的Job failed to start解决方法

    5.5以后的版本对字符编码方式修改的办法,原来在[mysqld]下的修改已经发生了变化,正确方式如下: [mysqld]下添加的应该为: character-set-server=utf8 colla ...

  4. Asp.Net Core--自定义基于策略的授权

    翻译如下: 在封面下,角色授权和声明授权使用需求,需求的处理程序和预配置的策略. 这些构建块允许您在代码中表示授权评估,从而允许更丰富,可重用和容易测试的授权结构. 授权策略由一个或多个需求组成,并在 ...

  5. word20161208

    EAP, Extensible Authentication Protocol / 可扩展身份验证协议 EFS, encrypting file system / 加密文件系统 embedded ob ...

  6. 百度地图用ip获取当前位置的经纬度(高精度)

    步骤比较简单先上百度地图API官网,申请一个应用AK(访问凭据):查看一下高进度定位的API,看看是否都符合要求下面直接上代码 /** * 根据ip获取地理坐标 * @param ip * @retu ...

  7. ASP.NET基础代码备忘

    使用ASP.NET原生的__doPostBack方法触发asp:Button //javaScript部分 __doPostBack('<%=btnAmountDivided.UniqueID ...

  8. mac mysql cmd

    sudo /usr/local/mysql/support-files/mysql.server start sudo /usr/local/mysql/support-files/mysql.ser ...

  9. 解决selenium2在IE11上出错的问题,如Unable to get browser

    官方解决方案: https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration Re ...

  10. javascript的window.ActiveXObject对象,区别浏览器的方法

    (window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...