mongodb 3.4 集群搭建升级版 五台集群--windows

环境准备

系统版本 windows server 2008 r2

五台服务器:192.168.4.135/136/137/138/139

安装包: mongodb-win32-x86_64-2008plus-ssl-3.4.10-signed

服务器规划

服务器135 服务器136 服务器137 服务器138 服务器139
mongos server mongos server config server config server config server
shard1 server shard2 server shard3 server shard4 server shard5 server
shard5 server shard1 server shard2 server shard3 server shard4 server
shard4 server shard5 server shard1 server shard2 server shard3 server

端口分配

mongos:27017
config:21000
shard1:27001
shard2:27002
shard3:27003
shard4:27004
shard5:27005

下载安装包

https://www.mongodb.com/download-center#community

创建相关目录

  • 根据服务器的规范,分别在对应的服务器上建立conf、mongos、config、shard1、shard2、shard3、shard4、shard5等目录,因为mongos不存储数据,只需要建立日志文件目录即可。
mkdir -p /data/conf
mkdir -p /data/mongos/log
mkdir -p /data/config/data
mkdir -p /data/config/log
mkdir -p /data/shard1/data
mkdir -p /data/shard1/log
mkdir -p /data/shard2/data
mkdir -p /data/shard2/log
mkdir -p /data/shard3/data
mkdir -p /data/shard3/log
mkdir -p /data/shard4/data
mkdir -p /data/shard4/log
mkdir -p /data/shard5/data
mkdir -p /data/shard5/log

配置环境变量

  • 为了后续方便操作,配置mongodb的环境变量
MONGODB_HOME=C:\Program Files\MongoDB\Server\3.4
path=%MONGO_HOME%/bin

查看mongodb版本信息mongod -v 输出版本信息表明配置环境变量成功

集群配置

1. config server配置服务器

  • 在服务器137、138、139上配置以下内容
dbpath=C:\\mongodb\\data\\config\\data
logpath=C:\\mongodb\\log\\config.log
pidfilepath=C:\\mongodb\\pid\\config.pid
directoryperdb=true
logappend=true
replSet=config
port=21000
configsvr=true
journal=true
  • 将config server配置成windows Service
mongod -f C:\mongodb\data\conf\config.conf --serviceName MongoConfig --serviceDisplayName MongoConfig --install
  • 登录任意一台配置服务器,初始化配置副本集
#连接
mongo 192.168.4.137:21000
#config变量
config = {
...    _id : "config",
...     members : [
...         {_id : 0, host : "192.168.4.137:21000" },
...         {_id : 1, host : "192.168.4.138:21000" },
...         {_id : 2, host : "192.168.4.139:21000" }
...     ]
... }

#初始化副本集
rs.initiate(config)

#查看分区状态
rs.status();

其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,”members” 中的 “host” 为三个节点的ip和port

这样配置服务器就配置好了

2. 配置分片、副本集

  • 分片和副本集配置文件
dbpath=C:\\mongodb\\data\\shard1
logpath=C:\\mongodb\\log\\shard1.log
pidfilepath=C:\\mongodb\\pid\\shard.pid
directoryperdb=true
logappend=true
replSet=shard1
port=27001
shardsvr=true
journal=true

replSet为副本集的名字,同一副本集这个值要相同,其他分片副本集配置文件同理

  • 将shard server配置成windows Service
mongod -f C:\mongodb\data\shard\shard.conf --serviceName MongoShard --serviceDisplayName MongoShard --install
  • 登录任意一台配置服务器,初始化分片副本集
mongo 192.168.4.136:27001
#使用admin数据库
use admin
#定义副本集配置
config = {
...    _id : "shard1",
...     members : [
...         {_id : 0, host : "192.168.4.135:27001" },
...         {_id : 1, host : "192.168.4.136:27001" },
...         {_id : 2, host : "192.168.4.137:27001" }
...     ]
... }


#初始化副本集配置
rs.initiate(config);


#查看分区状态
rs.status();

其他分片配置同理

3、配置路由服务器 mongos

以下配置在服务器135、136上执行

注意:先启动配置服务器和分片服务器,后启动路由实例

  • 配置文件如下
configdb=config/192.168.4.137:27000,192.168.4.138:27000,192.168.4.139:27000
pidfilepath=C:\\mongodb\\pid\\route.pid
port=27017
logpath=C:\\mongodb\\log\\route.log
logappend=true
  • 将mongos server配置成windows Service
mongos -f C:\mongodb\data\route\route.conf --serviceName MongoRoute --serviceDisplayName MongoRoute --install
  • 启用分片

目前搭建了mongodb配置服务器、路由服务器,各个分片服务器,不过应用程序连接到mongos路由服务器并不能使用分片机制,还需要在程序里设置分片配置,让分片生效。

登陆任意一台mongos

mongo 192.168.4.135:27017
#使用admin数据库
use  admin
#串联路由服务器与分配副本集
db.runCommand({addshard:"shard1/192.168.4.135:27001,192.168.4.136:27001,192.168.4.137:27001"})
db.runCommand({addshard:"shard2/192.168.4.136:27002,192.168.4.137:27002,192.168.4.138:27002"})
db.runCommand({addshard:"shard3/192.168.4.137:27003,192.168.4.138:27003,192.168.4.139:27003"})
db.runCommand({addshard:"shard4/192.168.4.135:27004,192.168.4.138:27004,192.168.4.139:27004"})
db.runCommand({addshard:"shard5/192.168.4.135:27005,192.168.4.136:27005,192.168.4.139:27005"})
#查看集群状态
sh.status()

集群搭建完毕

猜你喜欢

转载自blog.csdn.net/dilemmavf/article/details/80505793