mongodb集群方案:Replica Set集群的安装配置

原创 2017年12月19日 14:28:10

概述

MongoDB的环境主要包括StandAlone,Replication和Sharding。

    1. StandAlone:单机环境,一般开发测试的时候用。
    1. Replication:主从结构,一个Primary,多个Secondary,可能会有Arbitry。
      • Primary挂掉之后,会选举出一个Secondary作为Primary,与zookeeper类似。
      • Arbitry上面不存数据,只是为了凑数。选举算法要求节点数必须是奇数个,如果Primary+Secondary不是奇数个,就要用Arbitry凑数。
      • 写数据只能在Primary,读数据默认也在Primary,可以配置成从Secondary读,可以选最近的节点。
      • 数据在Primary上写成功之后,会将操作记录在oplog中,Secondary将oplog拷贝过去,然后照着操作一遍,就有数据了。
      • Primary和Secondary上面的数据保证最终一致性,可以为写操作配置write concern,有几个级别:在Primary上写完就认为写成功;写到oplog后认为写成功;写到一个/多个/某个/某几个Secondary之后认为写成功,等等。
    1. Sharding:share nothing的结构,每台机器只存一部分数据。mongod服务器存数据,mongos服务器负责路由读写请求,元数据存在config数据库中。
      因为数据量和机器量的原因,项目最终用了一个Primary,一个Secondary,一个Arbitry。我自己的开发环境是Ubuntu,测试环境是CentOS。安装的是64位的MongoDB。

下载、解压

  • 下载mongodb-linux-x86_64-rhel62-3.4.10.tgz.gz
  • 解压:
#解压命令
tar -xzvf mongodb-linux-x86_64-rhel62-3.4.10.tgz.gz

创建并编辑配置文件

  • 进行mongodb的根据目录
  • 创建mongod.conf的配置文件,内容如下:
#mongod.conf路径为:mongodb解压目录/mongod.conf
net:
  #bindIp: 127.0.0.1
  port: 27017
systemLog:
  destination: file
  path: /app/mongodata/log/mongo.log
  logAppend: true
storage:
  dbPath: /app/mongodata/data
processManagement:
  fork: true
#security:
#  authorization: enabled
replication:
   oplogSizeMB: 1024
   replSetName: rs-test

另外三台也按些配置,然后分别启动

#启动命令
mongod -f mongod.conf

初始化集群

# 1、选择一台mongodb的服务,通过bin/mongo 命令进行控制台
bin/mongo
# 2、切换到 admin库
use admin
# 3、定义初始化配置
config={"_id" : "rs-test", "members" : [ { "_id" : 0, "host" : "mongodb-node1:27017" }, { "_id" : 1, "host" : "mongodb-node2:27017" }, { "_id" : 2, "host" : "mongodb-node3:27017" } ]}
# 4、进行初始化
rs.initiate(config);
版权声明:本文为博主原创文章,未经博主允许不得转载。mengwzy#qq.com

mongodb集群环境搭建Replica Set

mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,s...
  • zx13525079024
  • zx13525079024
  • 2016年10月24日 14:58
  • 2208

mongodb Replica Sets副本集与读写分离

概述 对于mongodb的相关介绍,在此不多累赘,如需了解请见: http://www.mongodb.org/display/DOCS/Home  本文目的是说明如下几个功能: 1.在...
  • zhongbaolin
  • zhongbaolin
  • 2016年01月07日 14:27
  • 1359

Mongodb设置Replica Set集群 并使用PHP来连接

Mongodb之前一直是做主从模式,后来官方推荐用Replica Set(简称RS)来代替主从,主要是当primary节点出现故障后,会自动连接secondary节点,并且选为新的primary节点,...
  • ddjohn
  • ddjohn
  • 2015年08月25日 11:22
  • 2753

mongodb分片集群(sharding with replica set)配置

一共有4台机器,各自挂接一个存储,希望实现:尽量节约存储高可用性存储大量数据配置方案:每一台机器做一个分片的主数据库每一台机器做一个分片的后备数据库每一台机器做一个分片的仲裁服务两个两个一组交叉作对方...
  • kindy1022
  • kindy1022
  • 2011年06月15日 17:11
  • 585

Mongodb集群配置(sharding with replica set)

长期以来我就对分布式系统原理与实践非常感兴趣,对于Mongodb我一直很好奇,最近终于有时间能动手实验一把!我在一台Windows机器下搭建了一个 Replica Sets + Sharding 测试...
  • zhangzhaokun
  • zhangzhaokun
  • 2011年03月22日 23:19
  • 16179

转:mongodb分片集群(sharding with replica set)配置

一共有4台机器,各自挂接一个存储,希望实现:尽量节约存储高可用性存储大量数据配置方案:每一台机器做一个分片的主数据库每一台机器做一个分片的后备数据库每一台机器做一个分片的仲裁服务两个两个一组交叉作对方...
  • yuanxuran0101
  • yuanxuran0101
  • 2011年02月18日 20:52
  • 1210

Mongodb集群搭建之 --Replica Set

MongoDB是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式。关于Mongodb的特点,这里就不多介绍了,大家可以去看看官方说明:http://docs.mong...
  • qq_25353539
  • qq_25353539
  • 2017年05月10日 15:32
  • 188

MongoDB 3.4 高可用集群搭建(二)replica set 副本集

NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能。 mongoDB官方已经不建议使...
  • Nuan_Feng
  • Nuan_Feng
  • 2017年03月06日 19:00
  • 1020

MongoDB集群上副本集(replica set)建立

1副本集的配置 在单机上成功运行MongoDB后,要使用副本集来创建Mongodb集群,需要先关闭mongod守护进程,然后: mongod --replSet setname --fork来使用自己...
  • Echostream
  • Echostream
  • 2015年04月21日 11:01
  • 601

Mongodb高可用架构—Replica Set 集群实战

Replica Set使用的是n个mongod节点,构建具备自动的容错功能(auto-failover),自动恢复的(auto-recovery)的高可用方案。 使用Replica Set来实现...
  • huaishu
  • huaishu
  • 2013年07月05日 16:47
  • 13745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mongodb集群方案:Replica Set集群的安装配置
举报原因:
原因补充:

(最多只允许输入30个字)