配置准备

三台机器:

A(193.168.10.101) 

B(193.168.10.102)

C(193.168.10.103)
MongoDB 安装目录:/usr/local/mongodb
MongoDB 数据库目录:/usr/local/mongodb/data MongoDB 日志目录:/usr/local/mongodb/log
MongoDB 配置文件:/usr/local/mongodb/conf/mongodb.conf

每台机器上都安装好mongodb

配置过程

启动mongo实例

三台机器上分别启动

./mongod --logpath /usr/local/mongodb/logs/a/r0.log --logappend --dbpath /usr/local/mongodb/data/a/r0 --journalCommitInterval  --port  --shardsvr --replSet setA --rest  --oplogSize  --fork

./mongod --logpath /usr/local/mongodb/logs/b/r0.log --logappend --dbpath /usr/local/mongodb/data/b/r0 --journalCommitInterval  --port  --shardsvr --replSet setB --rest  --oplogSize  --fork

./mongod --logpath /usr/local/mongodb/logs/c/r0.log --logappend --dbpath /usr/local/mongodb/data/c/r0 --journalCommitInterval  --port  --shardsvr --replSet setC --rest  --oplogSize  --fork

./mongod --configsvr --logpath /usr/local/mongodb/logs/configServer/r0.log --logappend --dbpath /usr/local/mongodb/data/configServer/r0 --port --fork
//三台机器执行完上面的以后 再执行下面的命令
./mongos --configdb 193.168.10.101:,193.168.10.102:,193.168.10.103: --logpath /usr/local/mongodb/logs/serverlogs/mongos.log --logappend --port  --fork

设置副本集

./mongo 193.168.10.101:
rs.initiate({_id : "setA", members : [{_id : , host : "193.168.10.101:10000"}]})
rs.add("193.168.10.102:10000")
rs.add("193.168.10.103:10000") ./mongo 193.168.10.101:
rs.initiate({_id : "setB", members : [{_id : , host : "193.168.10.101:20000"}]})
rs.add("193.168.10.102:20000")
rs.add("193.168.10.103:20000") ./mongo 193.168.10.101:
rs.initiate({_id : "setC", members : [{_id : , host : "193.168.10.101:30000"}]})
rs.add("193.168.10.102:30000")
rs.add("193.168.10.103:30000")
可以自己设置哪个是主节点
cfg=rs.status() //查看节点顺序
...... cfg.members[].priority =
cfg.members[].priority =
cfg.members[].priority = //设置为2的为主节点
rs.reconfig(cfg)

分别进入两个从节点进行配置(setA setB setC每个的从节点都需要)

db.getMongo().setSlaveOk() //设置从节点为只读

设置分片

//设置分片 从50000路由端口进入
./mongo 193.168.10.101: sh.addShard("setA/193.168.10.101:10000,193.168.10.102:10000,193.168.10.103:10000"); sh.addShard("setB/193.168.10.101:20000,193.168.10.102:20000,193.168.10.103:20000"); sh.addShard("setC/193.168.10.101:30000,193.168.10.102:30000,193.168.10.103:30000");

验证

printShardingStatus()
use testdb
db.createCollection('test01') //创建一个表
use admin
db.runCommand({enablesharding:'test01'}) //设置数据库可以分片
db.runCommand({shardcollection:'testdb.test01',key:{c_id:}})

MongoDB 分片副本集集群搭建的更多相关文章

  1. Mongodb分片副本集集群搭建

    一.环境准备 1.1.主机信息(机器配置要求见硬件及开发标准规范文档V1.0) 序号 主机名 IP 1 DB_01 10.202.105.52 2 DB_02 10.202.105.53 3 DB_0 ...

  2. [原创]在Docker上部署mongodb分片副本集群。

    一.安装docker. 请参考:http://www.cnblogs.com/hehexiaoxia/p/6150584.html 二.编写dockerfile. 1.在根目录下创建mongod的do ...

  3. mongodb 3.4 集群搭建:分片+副本集

    mongodb是最常用的nodql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  4. mongodb 3.6 集群搭建:分片+副本集

    mongodb是最常用的nosql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  5. mongodb3.6集群搭建:分片+副本集

    mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  6. Mongo分片+副本集集群搭建

    一. 概念简单描述 1. MongoDB分片集群包含组件: mongos,configserver,shardding分片 2. Mongos:路由服务是Sharded cluster的访问入口,本身 ...

  7. MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)

      一.mongodb主从复制配置 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节 ...

  8. mongodb 搭建集群(分片+副本集)

    mongodb  搭建集群(分片+副本集) 一.搭建结构图: 二.搭建步骤:

  9. mongodb集群搭建(分片+副本)

    原文地址:https://www.cnblogs.com/ityouknow/p/7344005.html 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...

随机推荐

  1. android studio 更新 Gradle错误解决方法(Gradle sync failed)

    android studio 更新 Gradle错误解决方法   Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing ...

  2. make_heap()等函数的用法

    1.make_heap() make_heap()用于把一个可迭代容器变成一个堆,默认是大顶堆. 它有三个参数.第一个参数是指向开始元素的迭代器,第二个参数是指向最末尾元素的迭代器,第三个参数是les ...

  3. 【XMLHttpRequest】获取XMLHttpRequest

    // 获取http请求 function getXMLHttpRequest() { req = false; //本地XMLHttpRequest对象 if (window.XMLHttpReque ...

  4. Ice框架简介及Vs2013安装Ice 3.7.0步骤及实例

    ICE是什么? ICE是ZEROC官网的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,支持C+ ...

  5. 通过 CeSi + Supervisor 可视化集中管理服务器节点进程

    通过 CeSi + Supervisor 可视化集中管理服务器节点进程 简介 Supervisor 的安装及基本使用 1. 安装 2. 基本使用  2.1 启动 supervisor 2.2 Supe ...

  6. MySQL MHA环境搭建

    MHA功能: 1,从故障的mysql保存二进制日志时间(binlog events);2,识别含有最新更新的slave:3,应用差异的中继日志(relay log)到其他的slave:4,应用从mas ...

  7. mysql 协议分析

    MYSQL Binlog协议分析 此处不讨论建立连接,验证和handshake的交互协议 Binlog协议 一个MYSQL 通信包由包头包体组成 包体根据具体的交互协议有自身的组成结构, 在binlo ...

  8. 1035 Password (20 分)

    1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for th ...

  9. [UE4]事件处理(Handling Events)和委托(Delegate)代码示例(二)【C++】

    3. 创建带参数的委托 我们可以通过修改委托的签名来使其接受参数 比如我们需要接受一个参数的话,可以在 GameMode 中这样声明: DECLARE_DELEGATE_OneParam(FParam ...

  10. 学学Gearman

    通常,多语言多系统之间的集成是个大问题,一般来说,人们多半会采用WebService的方式来处理此类集成问题,但不管采用何种风格的WebService,如RPC风格,或者REST风格,其本身都有一定的 ...