mongodb集群——分片+副本集


声明:本文转载自https://my.oschina.net/u/3802739/blog/1647361,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

1.环境准备:建议使用15台机,若无此资源,可采用3台机做测试

##环境规划如下

服务器1(192.168.12.249):

Mongos(Route) 【端口:20000】

config server【端口:21000】

shard server1 主节点【端口:28001】

shard server2 仲裁【端口:28002】

shard server3 副节点【端口:28003】

服务器2(192.168.12.247):

Mongos(Route) 【端口:20000】

config server【端口:21000】

shard server1 副节点【端口:28001】

shard server2 主节点【端口:28002】

shard server3 仲裁【端口:28003】

服务器3(192.168.12.253):

Mongos(Route) 【端口:20000】

config server 【端口:21000】

shard server1 仲裁【端口:28001】

shard server2 副节点【端口:28002】

shard server3 主节点【端口:28003】

##创建目录如下:

2.搭建配置服务器(config server)

1) 配置服务器内容
## 配置文件地址:D:\MongoDB\MongoDB3.4.2\conf\config.properties
 
pidfilepath = D:\MongoDB\MongoDB3.4.2\config\log\configsrv.pid
dbpath = D:\MongoDB\MongoDB3.4.2\config\data
logpath = D:\MongoDB\MongoDB3.4.2\config\log\congigsrv.log
logappend = true

  
bind_ip = 0.0.0.0
port = 21000   
#declare this is a config db of a cluster;
configsvr = true
 
#副本集名称
replSet=configs  
#设置最大连接数
maxConns=20000
serviceName=MongoDBConfig
serviceDisplayName=MongoDB Config Server

2)安装服务并启动
D:\MongoDB\MongoDB3.4.2\bin>

            mongod.exe -config D:\MongoDB\MongoDB3.4.2\conf\config.properties --install
 
D:\MongoDB\MongoDB3.4.2\bin>net start MongoDBConfig

3)登录任意一台配置服务器,初始化配置副本集,其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,”members” 中的 “host” 为三个节点的 ip 和 port

D:\MongoDB\MongoDB3.4.2\bin>mongo --port 21000
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:21000/
> config = {
    _id : "configs",
    members : [
         {_id : 0, host : "192.168.15.253:21000" },
         {_id : 1, host : "192.168.14.253:21000" },
         {_id : 2, host : "192.168.13.253:21000" }
     ]
 } 
> rs.initiate(config)
 { "ok" : 1 }

3.配置分片副本集(shard server)

1)修改配置文件:D:\MongoDB\MongoDB3.4.2\conf\shard1.properties
 
pidfilepath = D:\MongoDB\MongoDB3.4.2\shard1\log\shard1.pid
dbpath = D:\MongoDB\MongoDB3.4.2\shard1\data
logpath = D:\MongoDB\MongoDB3.4.2\shard1\log\shard1.log
logappend = true
 
bind_ip = 0.0.0.0
port = 28001 
#副本集名称
replSet=shard1
 
#declare this is a shard db of a cluster;
shardsvr = true  
#设置最大连接数
maxConns=20000 
serviceName=MongoDBShard1
serviceDisplayName=MongoDB Shard Server 1

2)安装服务并启动
D:\MongoDB\MongoDB3.4.2\bin>

                mongod.exe -config D:\MongoDB\MongoDB3.4.2\conf\shard1.properties --install
D:\MongoDB\MongoDB3.4.2\bin>net start MongoDBShard1

3)登录任意一台配置服务器,初始化分片1
D:\MongoDB\MongoDB3.4.2\bin>mongo --port 28001
> use admin 
> config = {
    _id : "shard1",
    members : [
         {_id : 0, host : "192.168.15.253:28001" },
         {_id : 1, host : "192.168.14.253:28001" },
         {_id : 2, host : "192.168.13.253:28001" , arbiterOnly: true }
     ]
 } 
> rs.initiate(config)

4.配置路由服务器(Route)

1)修改配置文件地址:D:\MongoDB\MongoDB3.4.2\conf\mongos.properties
 
pidfilepath = D:\MongoDB\MongoDB3.4.2\mongos\log\mongos.pid
logpath = D:\MongoDB\MongoDB3.4.2\mongos\log\mongos.log
logappend = true
 
bind_ip = 0.0.0.0
port = 20000 
#监听的配置服务器,只能有1个或者3个 configs为配置服务器的副本集名字
configdb = configs/192.168.15.253:21000,192.168.14.253:21000,192.168.13.253:21000
  
#设置最大连接数
maxConns=20000 
serviceName=MongoDBRoute3
serviceDisplayName=MongoDB Route Server 3

2)安装服务并启动
D:\MongoDB\MongoDB3.4.2\bin>

                    mongos.exe -config D:\MongoDB\MongoDB3.4.2\conf\mongos.properties --install
D:\MongoDB\MongoDB3.4.2\bin>net start MongoDBRoute3

5.启用分片

D:\MongoDB\MongoDB3.4.2\bin>mongo --port 20000 
> use admin 
>mongos> sh.addShard("shard1/192.168.15.253:28001,192.168.14.253:28001,192.168.13.253:28001")
{ "shardAdded" : "shard1", "ok" : 1 }
mongos> sh.addShard("shard2/192.168.15.253:28002,192.168.14.253:28002,192.168.13.253:28002")
{ "shardAdded" : "shard2", "ok" : 1 }
mongos> sh.addShard("shard3/192.168.15.253:28003,192.168.14.253:28003,192.168.13.253:28003")
{ "shardAdded" : "shard3", "ok" : 1 }
mongos>

6.查看集群状态
mongos>sh.status():可以看到集群的状态:分片摘要信息、数据库摘要信息、集合摘要信息。

 

 

 

本文发表于2018年03月19日 22:38
(c)注:本文转载自https://my.oschina.net/u/3802739/blog/1647361,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2019 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1