MongoDB实现分片复制集

原创 2016年08月31日 13:08:07

MongoDB的下载和安装
请参考我的博文:MongoDB实现复制集 中所述MongoDB下载和安装
分片复制集节点架构
分片复制集节点架构
创建分片复制集设置
分片复制集设置
准备三台虚拟机mongodb01,mongodb02,mongodb03。CentOS 7修改主机名:

$ hostnamectl set-hostname mongodb01
$ hostnamectl set-hostname mongodb02
$ hostnamectl set-hostname mongodb03

创建配置服务器
在mongodb01,mongodb02,mongodb03中分别启动配置服务器

$ mkdir -p /opt/datas/mongodb/cluster/config/data
$ mkdir -p /opt/datas/mongodb/cluster/config/logs
$ touch /opt/datas/mongodb/cluster/config/logs/config.log
$ bin/mongod --port 27052 --configsvr --dbpath /opt/datas/mongodb/cluster/config/data --fork --logpath /opt/datas/mongodb/cluster/config/logs/config.log

创建分片控制器
在mongodb01,mongodb02,mongodb03中分别启动分片控制器

$ touch /opt/datas/mongodb/cluster/config/logs/mongos.log
$ bin/mongos --configdb mongodb01:27052,mongodb02:27052,mongodb03:27052 --port 27051 --chunkSize 1 --fork --logpath /opt/datas/mongodb/sharding/config/logs/mongos.log

启动分片00复制集
在mongodb01,mongodb02,mongodb03中分别启动分片00

$ mkdir -p /opt/datas/mongodb/cluster/shard00/data
$ mkdir -p /opt/datas/mongodb/cluster/shard00/logs
$ touch /opt/datas/mongodb/cluster/shard00/logs/shard00.log
$ bin/mongod --dbpath /opt/datas/mongodb/cluster/shard00/data --port 27053 --replSet sh00 --fork --logpath /opt/datas/mongodb/cluster/shard00/logs/shard00.log

添加复制集

$ bin/mongo mongodb01:27053
> rs.initiate()
sh00:OTHER> rs.add("mongodb01:27053");
sh00:PRIMARY> rs.add("mongodb02:27053");
sh00:PRIMARY> rs.add("mongodb03:27053");
sh00:PRIMARY> rs.status();

启动分片01复制集
在mongodb01,mongodb02,mongodb03中分别启动分片01

$ mkdir -p /opt/datas/mongodb/cluster/shard01/data
$ mkdir -p /opt/datas/mongodb/cluster/shard01/logs
$ touch /opt/datas/mongodb/cluster/shard01/logs/shard01.log
$ bin/mongod --dbpath /opt/datas/mongodb/cluster/shard01/data --port 27054 --replSet sh01 --fork --logpath /opt/datas/mongodb/cluster/shard01/logs/shard01.log

添加复制集

$ bin/mongo mongodb01:27054
> rs.initiate()
sh01:OTHER> rs.add("mongodb01:27054");
sh01:PRIMARY> rs.add("mongodb02:27054");
sh01:PRIMARY> rs.add("mongodb03:27054");
sh01:PRIMARY> rs.status();

启动分片02复制集
在mongodb01,mongodb02,mongodb03中分别启动分片02

$ mkdir -p /opt/datas/mongodb/cluster/shard02/data
$ mkdir -p /opt/datas/mongodb/cluster/shard02/logs
$ touch /opt/datas/mongodb/cluster/shard02/logs/shard02.log
$ bin/mongod --dbpath /opt/datas/mongodb/cluster/shard02/data --port 27055 --replSet sh02 --fork --logpath /opt/datas/mongodb/cluster/shard02/logs/shard02.log

添加复制集

$ bin/mongo mongodb01:27055
> rs.initiate()
sh02:OTHER> rs.add("mongodb01:27055");
sh02:PRIMARY> rs.add("mongodb02:27055");
sh02:PRIMARY> rs.add("mongodb03:27055");
sh02:PRIMARY> rs.status();

添加分片集
登录到mongodb01分片控制器

$ bin/mongo mongodb01:27051
mongos> sh.addShard("sh00/mongodb01:27053,mongodb02:27053,mongodb03:27053");
mongos> sh.addShard("sh01/mongodb01:27054,mongodb02:27054,mongodb03:27054");
mongos> sh.addShard("sh02/mongodb01:27055,mongodb02:27055,mongodb03:27055");

MongoDB分片和复制集操作参考
使用MongoDB实现分片集
MongoDB实现复制集

版权声明:本文为博主原创文章,未经博主允许不得转载。

基于分片和复制集的三节点mongodb集群

使用mongo的自动分片和复制集的功能搭建mongodb三节点集群,每个节点都运行三个分片服务器进程,一个路由服务器和配置服务器,该架构集群可以实现容错性,正常情况下客户端连接路由服务器,路由服务器没...
  • share_free
  • share_free
  • 2016年07月06日 15:36
  • 239

MongoDB基于复制集创建索引

MongoDB在启用复制集(Replica Set)功能后,原先一个简单的索引添加,在之上会变得相对复杂,尤其是在数据量巨大的时候,需要考虑尽可能将性能影响降低到最小。基于此我们需要采取逐个节点创建索...
  • robinson_0612
  • robinson_0612
  • 2017年03月10日 17:34
  • 758

mongodb 运行时添加新的分片复制集

由于业务迅速扩展,当前的分片已经不能满足要求,需要在mongodb线上在增加一个分片。 1、在master2上建立3个mongodb先设立好ip和域名的映射关系:vim /etc/hosts192.1...
  • mchdba
  • mchdba
  • 2016年07月09日 16:31
  • 4818

mongodb 复制集+ 分片(转载博客园)

mongodb版本:3.0.4 准备: 1、校验服务器的时间,3台同步 2、关闭防火墙 3、关闭selinux Sharding+Replica Sets 主机 ...
  • u012111815
  • u012111815
  • 2016年12月26日 10:19
  • 225

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

MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
  • canot
  • canot
  • 2016年02月25日 17:29
  • 10988

mongodb复制和分片

复制主从复制主从复制是MongoDB最常用的复制方式,这种方式非常灵活,可用于备份、故障恢复、读扩展等。 最基本的设置方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。运行mo...
  • pizipeng2
  • pizipeng2
  • 2016年08月13日 22:01
  • 359

MongoDB分片集群启动过程中Failed to connect to 127.0.0.1:27017错误解决办法

(1)进行MongoDB分片集群部署过后,进入MongoDB的目录下,输入bin/mongo -port:30000,居然弹出错误: MongoDB shell version: 3.0.7 conn...
  • sparkexpert
  • sparkexpert
  • 2015年10月30日 10:44
  • 2712

MongoDB--架构搭建 分片+副本集

服务器环境搭建实践 遇到问题: 1、以windows服务启动时报错,msvcp140.dll 丢失 1、使用mongoDB安装文件 安装一下 2、以windows服务启动时报错,vc++错误...
  • sun491922556
  • sun491922556
  • 2017年06月23日 16:31
  • 509

Windows搭建MongoDB分片以及复制集

本文主要介绍如何在windows部署MongoDB的复制集以及分片,在搭建过程中主要参考了http://blog.csdn.net/sxb0841901116/article/category/254...
  • zlp1992
  • zlp1992
  • 2017年08月10日 15:26
  • 411

安装MongoDB-单击版、复制集、密码认证、安装MongoDB分片shard

本文记录安装MongoDB的过程,包括『单击版、复制集、密码认证、分片』等情况。 1、安装MongoDB单机版 下载安装文件,解压后即可。在安装目录下执行如下命令即可启动: (在前台启动,按ctr...
  • xxgwo
  • xxgwo
  • 2016年04月24日 20:17
  • 798
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB实现分片复制集
举报原因:
原因补充:

(最多只允许输入30个字)