环境需求: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. linux系统下MySQL表名区分大小写问题

    linux系统下MySQL表名区分大小写问题 https://www.cnblogs.com/jun1019/p/7073227.html [mysqld] lower_case_table_name ...

  2. MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍

    mysql 5.7版本 出现 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corre ...

  3. vue组件封装选项卡

    <template> <myMenu :arr='arr' :arrcontent='content'></myMenu> </template> &l ...

  4. Laravel Providers——服务提供者的注册与启动源码解析

      本文 GitBook 地址: https://www.gitbook.com/book/leoyang90/laravel-source-analysishttps://learnku.com/a ...

  5. fatal: HttpRequestException encountered解决方法

    最近在windows下git push提交就会弹出如下错误: 网上查了一下发现是Github 禁用了TLS v1.0 and v1.1,必须更新Windows的git凭证管理器,才行. https:/ ...

  6. centOS 7下无法启动网络(service network start)错误解决办法

    今天在centOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了. 现把各种解决方法归纳整理,希望能让后面的同学少走点歪路... 首先看问题:执行serv ...

  7. 用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)

    最近自己做一个web app需要用到上拉查询下页数据,网上看了很多很多帖子,发现并不能快速的套用,总是会出现各种问题无法使用,于是无奈自己跑去看了官方api文档,终于做了出来,至此做个笔记,以后用到可 ...

  8. MyBatis的XML中使用内部类的方式

    内部类需要使用$符号连接,而不是点.,如 com.pingan.job.openapi.model.SMSESBResult$ReceiveResult$ResultInfo 从CSDN论坛查到的. ...

  9. memcach 命令行

    1. cmd上登录memcache # telnet 127.0.0.1 11211   2. 列出所有items stats items     3. 通过itemid获取key 接下来基于列出的i ...

  10. Delphi (Library Path Browsing Path)

    首先要明白的一个概念是dcu文件 *.dcu是*.pas的编译后单元文件(Delphi Compiled Unit), 编译器把它和库文件连接起来就构成了可执行文件*.exe 或*.dll等,相当于C ...