MongoDB分布式集群实例

原创 2013年12月02日 11:14:45

4.1集群模式

   数据库sharding主要优点:

Ø  提供了接近线性扩张的架构,系统的可扩张性更高。

Ø  提高了数据库的可靠性。如果一个数据库分支当掉,对于整体的服务没有任何影响。

Ø  数据库的抗压性更高,性能更好。3000TPS的数据库和一个300TPS的数据库的压力是完成不一样。

服务器名称

IP

服务和端口

Server A

192.168.1.231

mongod shard1_1:27017

mongod shard1_1:27018

 mongod config 1:20000

 mongos 1:30000

Server B

192.168.1.232

mongod shard1_1:27017

mongod shard1_1:27018

 mongod config 1:20000

 mongos 1:30000

Server C

192.168.1.233

mongod shard1_1:27017

mongod shard1_1:27018

 mongod config 1:20000

 mongos 1:30000

1. Server A、Server B和Server C创建上ShardServer和Config Server的数据目录,脚本如下:

#Server A

mkdir –p /data/shard1_1

mkdir –p /data/shard2_1

mkdir –p /data/config

#Server B

mkdir –p /data/shard1_1

mkdir –p /data/shard2_1

mkdir –p /data/config

#Server C

mkdir –p /data/shard1_1

mkdir –p /data/shard2_1

mkdir –p /data/config

 

  2. 配置Shard所有Replica Set。

  配置shard1

 Server A上操作,如下代码:

  #Server A

   /mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_1.log –logappend --fork

  #Server B

   /mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_2.log –logappend --fork

  #Server C

   /mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_3.log –logappend --fork

   链接其中一台机器的27017端口的mongod,初始化Relica Set 1 , 脚本如下:

  ./mongo –port 27017

  >config = {_id:’shard1’,members:[{_id:0, host: ‘192.168.1.231:27017’},{_id:1,host: ‘192.168.1.232:27017’},{_id:2, host: ‘192.168.1.233:27017’}]}

>rs.initiate(config)

依次类推,配置Shard2,脚本如下:

  #Server A

   /mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_1 –logpath/data/shard1_1/shard2_1.log –logappend --fork

  #Server B

   /mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_2 –logpath/data/shard1_1/shard2_2.log –logappend --fork

  #Server C

   /mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_3 –logpath/data/shard1_1/shard2_3.log –logappend --fork

shard2配置服务

  ./mongo –port 27018

  >config = {_id:’shard1’,members:[{_id:0, host: ‘192.168.1.231:27018’},{_id:1,host: ‘192.168.1.232:27018’},{_id:2, host: ‘192.168.1.233:27018’}]}

>rs.initiate(config)

   3.配置3台Config Server

在Server A、Server B和Server C配置configServer,依次执行如下脚本:

./mongod –configsvr–dbpath  /data/config –port 20000 –logpath/data/config/config.log –logappend –fork

   4.配置3台Route Process

  ./mongos –configdb 192.168.1.231:20000, 192.168.1.232:20000,

192.168.1.233:20000 –port 30000  --chunkSize 125 –logpath /data/mongos.log –logappend--fork

5. 配置Shard Cluster

连接其中一台服务的端口30000的mongos进程,并切换到admin数据库开始配置Sharding环境,脚本如下:

./mongo –port 30000

>use admin

switched to db admin

>db.runCommand({addshard:”shard1/192.168.1.231:27017,192.168.1.232: 27017,

192.168.1.233: 27017”});

> db.runCommand({addshard:”shard1/192.168.1.231:27018,192.168.1.232: 27018,

192.168.1.233: 27018”});

   6.激活分片,脚本如下:

db.runCommand({enablesharding:“test”});

db.runCommand({shardcollection:“test.users”, key:{_id:1}});

   7.测试验证

脚本如下:

 >use test

>for(var i=1;i< 200000; i++)db.users.insert(id:I, add_1:”北京”,addr_2:”上海”);

查看users表的状态,脚本如下:

>db.users.stats()

…..


  这个是选自我的MongoDB培训文档,下载地址:MongoDB Tutorial

 

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

MongoDB 3.2.9 分布式集群搭建

MongoDB 3.2.9最新版本分布式集群搭建一步一步实操记录,带安全认证,附带核武Ops Manager,自动化部署、管理、监控。...
  • fang_sh_lianjia
  • fang_sh_lianjia
  • 2016年08月29日 14:38
  • 1162

mongodb分布式集群架构

同事 该文转自http://freeze.blog.51cto.com/1846439/884925
  • BeiiGang
  • BeiiGang
  • 2014年10月14日 10:57
  • 3964

【MongoDB】3、分布式MongoDB

1、ga 分布式MongoDB (1)分片Sharding 一个sharding通常是一个replica set副本集。 一个sharding不止一台服务器,每台服务器有完全相同的数据子集...
  • stationxp
  • stationxp
  • 2014年05月17日 23:56
  • 2516

MongoDB分片介绍(三)——分布式集群部署及维护

我们提到过,MongoDB分片需要三个角色才能完成,一个是Config Server作为元数据存储服务器,一个是Mongos实例作为查询路由转发器,最后是MongoD实例用于存储实际用户数据。 一、初...
  • luohongqing
  • luohongqing
  • 2013年11月18日 14:52
  • 1980

mongodb 在单机上搭建分片集群 详细实战过程

本地搭建         一般线上mongodb服务器都好多台,可以自由搭建mongodb分片集群的,但是不能随意测试,如果想自己随意测试新功能怎么办呢?可以在本地搭建,在一台服务器mongodb1(...
  • mchdba
  • mchdba
  • 2016年07月11日 21:53
  • 5836

基于CentOS 7、 mongoDB 3.4.2 伪分片集群使用

一、预准备环境: 本次搭建按照3+3+9的模式进行伪分布式结构(3个mongos对外提供服务,3个configServer保存配置信息,3个mongod存储数据,3个mongod作为数据副本,3个...
  • ling811
  • ling811
  • 2017年03月17日 16:30
  • 897

搭建高可用的MongoDB集群

http://www.csdn.net/article/2014-04-09/2819221-build-high-avialable-mongodb-cluster-part-1/1
  • bluejoe2000
  • bluejoe2000
  • 2014年11月20日 15:49
  • 3278

Centos7 mongodb分片实验环境搭建(原创)

Mongodb3.3.6 CentOS7分片实验环境搭建 一、拓扑图 二、部署 1.Mongodb安装 3台服务器都安装mongodb,安装包拷到/usr/local/下,为了清晰展...
  • qq_33324608
  • qq_33324608
  • 2017年01月06日 09:47
  • 586

mongodb常见操作及集群搭建

mongodb常见操作及集群搭建。
  • wik_123
  • wik_123
  • 2016年10月09日 00:56
  • 2906

MongoDB架构图解

MongoDB架构图解 本文图片来自Ricky Ho的博文MongoDB构架(MongoDB Architecture),这是个一听就感觉很宽泛的话题,但是作者在文章中确实对MongoD...
  • wind520
  • wind520
  • 2015年01月08日 10:14
  • 1449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB分布式集群实例
举报原因:
原因补充:

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