无名剑

微服务架构,Java,Unity3d,c#、asp.net、vc、vc++、asp、php、javascript、jsp

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);
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。mengwzy#qq.com https://blog.csdn.net/nnsword/article/details/78842277
文章标签: mongodb
个人分类: nosql
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭