配置准备

三台机器:

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. aapium 设置安卓机参数

    例子: class iBer(Unittest.TestCase): @classmethod def setUpClass(cls): logger=public.log() desired_cap ...

  2. Bogart gData.vb

    Imports System Imports System.Data Imports System.Data.OleDb Imports Microsoft.VisualBasic Imports S ...

  3. yum lnmp

    1.关闭防火墙 [root@CentOS ~]# chkconfig iptables off   2.关闭selinux vi /etc/sysconfig/selinux //将SELINUX=e ...

  4. Redis 通用操作2

    01, 一次设置多个键值 => mset key1 value1 key2 value2 key3 value3 ...... 02, 一次获取多个值 => mget ke1 key2 k ...

  5. Node MonGoDb 简单的增删改查

    let MongoClient = require("mongodb").MongoClient; let url = "mongodb://192.168.200.10 ...

  6. SQL 2012 分页取数据

    ,), data int ) select * from t1 row rows only create clustered index t1c on t1(id) declare @i int ) ...

  7. Maven打包跳过测试,文档生成

    运行mvn install时跳过Test 方法一: <project> [...] <build> <plugins> <plugin> <gro ...

  8. UI5-文档-4.28-Unit Test with QUnit

    现在我们在应用程序中有了一个测试文件夹,我们可以开始增加我们的测试覆盖率. 实际上,到目前为止我们添加到应用程序中的每个特性都需要单独的测试用例.到目前为止,我们完全忽略了这一点,所以让我们为步骤23 ...

  9. tensorflow UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

    tensorflow读取图像出现错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid s ...

  10. ubuntu 安装MySQLdb

    ubuntu运行sudo pip install MySQL-python安装MySQLdb时报错:Command "python setup.py egg_info" faile ...