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

概述

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值