配置准备

三台机器:

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. Excel 公式CORREL算出相关系数

    当对 N 个主体中的每一个变量进行观测时,CORREL 工作表函数可计算两个测量变量之间的相关系数.(缺少任何主体的观测值将导致该主体在分析中被忽略.)当 N 个主体中的每一个均具备两个以上的测量变量 ...

  2. var abc = function(x){} 和 function abc(x){}的区别

    转自百度知道. 问:js里声明函数有几种方式? var abc = function(x){} 和 function abc(x){} 这两种声明方法有什么不同? 答:首先后者是指函数声明,前者是指函 ...

  3. CentOs7安装gitlab(转!)

    沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足.                                                                         ...

  4. C#后台调用前台javascript的五种方法小结

    第一种,OnClientClick (vs2003不支持这个方法) <asp:Button ID="Button1" runat="server" Tex ...

  5. 关于input=file的用法

    <input type="file"/>这个东西是用来上传图片用的. 1,但是存在一下问题但是在在各个浏览器下的显示是不一样的 IE下: IE之外的浏览器: 2.如果不 ...

  6. extract 用法说明

    PHP extract() 函数从数组中把变量导入到当前的符号表中 定义和用法 PHP extract() 函数从数组中把变量导入到当前的符号表中. 对于数组中的每个元素,键名用于变量名,键值用于变量 ...

  7. faker之python构造虚拟数据

    python中可以使用faker来制造一些虚拟数据 首选安装faker pip install Faker 老版的叫法是faker-factory,但是已不适用 使用faker.Factory.cre ...

  8. JavaScript词法分析(尽力理解)

    JavaScript中在调用函数的那一瞬间之前,会先进行词法分析 词法分析的过程: 当函数调用的前一瞬间,会先形成一个激活对象:Avtive Object(AO),并会分析以下3个方面: 1:函数参数 ...

  9. Arrays.binarySearch 数组二分查找

    public static void main(String[] args) throws Exception { /** * binarySearch(Object[], Object key) a ...

  10. uva-11205-枚举子集

    题意: 至少用多少列来表示输入中的二进制数,并且表示的数里面没有重复,最多P列,N个二进制数 所以......表示的最大二进制数是2^P,那么在2^P方内的数二进制最大值是P个1,最小是0,所以,枚举 ...