环境需求:Mongodb集群有三种模式:  Replica Set, Sharding,Master-Slaver。

       这里部署的是Replica Set模式。

测试环境: 这里副本集(Replica Set)采用一主一备一仲裁模型:

      

            

配置步骤

  1.下载mongodb

    MongoDB官网下载中心:MongoDB Download Center

    mongodb 3.4.10下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.10.tgz

  2. 解压并创建目录

    [root@server-1 ~]# tar zxvf mongodb-linux-x86_64-rhel70-3.4.10.tgz

    [root@server-1 ~]# mv mongodb-linux-x86_64-rhel70-3.4.10  mongodb    //为了方便简洁,改名

    

    

    同样的,在server-2和server-3上也解压并改名(略)

    接着创建相关目录:

    [root@server-1 ~]# mkdir -p /date/mongodb/primary    //在server-1上建立主数据存放目录

    [root@server-1 ~]# mkdir /etc/mongodb/      //即将存放primary的配置文件

    [root@server-2 ~]# mkdir -p /data/mongodb/secondary    //在server-2上建立从数据存放目录

    [root@server-2 ~]# mkdir /etc/mongodb/      //即将存放secondary的配置文件

    [root@server-3 ~]# mkdir -p /data/mongodb/arbiter    //在server-3上建立仲裁数据存放目录

    [root@server-3 ~]# mkdir /etc/mongodb/      //即将存放arbiter的配置文件

  3. 新建配置文件

    [root@server-1 ~]# vim /etc/mongodb/primary.conf    //新建主配置文件,内容如下:

      

    

      #PRIMARY.CONF
      dbpath=/data/mongodb/primary
      logpath=/data/mongodb/primary.log
      pidfilepath=/data/mongodb/primary.pid
      #keyFile=/data/mongodb/mongodb.key
      directoryperdb=true
      logappend=true
      replSet=google
      bind_ip=192.168.1.21
      port=27017
      #auth=true
      oplogSize=100
      fork=true
      noprealloc=true
      #maxConns=4000

      [root@server-2 ~]# vim /etc/mongodb/secondary.conf    //secondary的配置文件,如下:

      

    [root@server-3 ~]# vim /etc/mongodb/arbiter.conf    // arbiter的配置文件内容如下

      

    保存后,退出;

  4. 启动mongodb服务

    [root@server-1 ~]# ./mongodb/bin/mongod -f /etc/mongodb/primary.conf    //启动主

    [root@server-2 ~]# ./mongodb/bin/mongod -f /etc/mongodb/secondary.conf    //启动从

    [root@server-3 ~]# ./mongodb/bin/mongod -f /etc/mongodb/arbiter.conf    //启动仲裁

    

  5. 将节点配置组成集群

    找一台节点,这里就在server-1操作:

    [root@server-1 ~]# ./mongodb/bin/mongo 192.168.1.21:27017    //使用mongo命令登录,格式:mongo  IP:PORT

    

    接着:

    > use admin    //直接回车

    > cfg={ _id:"google",members:[{_id:0,host:'192.168.1.21:27017',priority:2},{_id:1,host:'192.168.1.22:27017',priority:1},{_id:2,host:'192.168.1.23:27017',arbiterOnly:true}] };

    

    接着:

    > rs.initiate(cfg)    //使配置生效

    

    说明:cfg名字可选,只要跟mongodb参数不冲突,_id为Replica Set名字,members里面的优先级priority值高的为主节点,

        对于仲裁点一定要加上arbiterOnly:true,否则主备模式不生效。

        查看是否生效:rs.status()

        下面会显示字样:"ok" : 1

结束.

centos7下安装部署mongodb集群(副本集模式)的更多相关文章

  1. Mongodb分布式集群副本集+分片

    目录 简介 1. 副本集 1.1 MongoDB选举的原理 1.2 复制过程 2. 分片技术 2.1 角色 2.2 分片的片键 2.3 片键分类 环境介绍 1.获取软件包 2.创建路由.配置.分片等的 ...

  2. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

  3. kubernetes上安装MongoDB-3.6.5集群副本集方式

    一.安装部署: 想直接一步创建集群的小伙伴直接按以下步骤安装(再往后是记录自己出过的错): 1.生成docker镜像: docker build -t 144.202.127.156/library/ ...

  4. Ubuntu下安装部署MongoDB以及设置允许远程连接

    最近因为项目原因需要在阿里云服务器上部署MongoDB,操作系统为Ubuntu,网上查阅了一些资料,特此记录一下步骤. 1.运行apt-get install mongodb命令安装MongoDB服务 ...

  5. 搭建高可用mongodb集群—— 副本集

    转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB& ...

  6. MongoDB 高可用集群副本集+分片搭建

    MongoDB 高可用集群搭建 一.架构概况 192.168.150.129192.168.150.130192.168.150.131 参考文档:https://www.cnblogs.com/va ...

  7. MongoDB集群——副本集

    1. 副本集的结构及原理 副本集包括三种节点:主节点.从节点.仲裁节点.主节点负责处理客户端请求,读.写数据, 记录在其上所有操作的oplog: 从节点定期轮询主节点获取这些操作,然后对自己的数据副本 ...

  8. window配置mongodb集群(副本集)

    参数解释: dbpath:数据存放目录 logpath:日志存放路径 pidfilepath:进程文件,有利于关闭服务 logappend:以追加的方式记录日志(boolean值) replSet:副 ...

  9. Centos7下安装部署oracle数据库方法及问题汇总

    目标:在centos7上配置oracle数据库服务器,并在win7上面使用pl/sql成功访问该oracle数据库 系统环境: 服务器:centos7 64位 客户端:win7 64位 注意cneto ...

随机推荐

  1. 开发环境搭建(lnmp)

    我们的开发环境一般现在时用Linux + Nginx + MySQL(mariaDB) + PHP的组合进行项目的搭建与开发,工欲善其事必先利其器. 搭建环境: Centos7 + mysql5.6 ...

  2. [转帖]Huge Page 是否是拯救性能的万能良药?

    Huge Page 是否是拯救性能的万能良药? 本文将分析是否Huge Page在任何条件下(特别是NUMA架构下)都能带来性能提升. 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢 ...

  3. [转帖]NotePad++编辑Linux中的文件

    NotePad++编辑Linux中的文件 https://blog.csdn.net/chengqiuming/article/details/78882692 原作者 未经允许不允许转帖 加密自己参 ...

  4. 【学亮IT手记】MySql行列转换案例

    create table score( name ), math int, english int ); ,); ,); ,); ,); SHOW tables; SELECT * from scor ...

  5. Vue 获得所选中目标的状态(checked)以及对应目标的数据,并进行相应的操作

    一.我们现在要拿取购物车中选中商品的状态和该商品的所有数据或者id <ul v-if="shopList.list.length>0"> <li class ...

  6. 你不知道的JavaScript——第二章:this全面解析

    1调用位置 调用栈:为了到达当前执行位置所调用的所有函数. function baz(){ //当前调用栈:baz //因此,当前调用位置是全局作用域 console.log('baz'); bar( ...

  7. npm install、npm install --save、npm install --save --dev、npm install -S、npm install -D的区别

    npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...

  8. VSCode 汉化

    https://jingyan.baidu.com/article/7e44095377c9d12fc1e2ef5b.html

  9. Spring标签之Bean @Scope

    @Bean 的用法 @Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里.添加的bean的id为方法名 定义bean 下面是@Co ...

  10. 老男孩python学习自修第五天【集合】

    特点: (1)无序 (2)不重复 使用场景: (1)关系测试 (2)去重 x & y 求交集 x | y 求并集 x - y 求差集 x ^ y 求对称差集 x.intersection(y) ...