Windows系统下Mongodb做负载均衡和故障转移]

【环境描述】

1)服务器

主机A:192.168.1.6(数据节点A和仲裁节点1)

主机B:192.168.1.7(数据节点B和仲裁节点2)

主机C:192.168.1.8(仲裁节点3)

主机D:192.168.1.9(仲裁节点4)


2)系统环境:windows Server 2008R2 Standard 64位


3)Mongodb版本:mongodb-win32-x86_64-2.6.6


【实验开始】

步骤1:将所需文件拷贝到各主机目录下

1.在E盘根目录下新建一个Mongodb文件夹

2.将mongodb-win32-x86_64-2.6.6安装包复制到Mongodb文件夹下

3.在Mongodb文件夹下新建个文件夹叫mongodbdata,并在mongodbdata下面再新建3个文件夹,分别是Arbiter,log,db

4.将MongoCmd拷贝到mongodb-win32-x86_64-2.6.6的bin目录下面


步骤2:修改MongoCmd下的配置文件

--主机A--
1.ConfigMongoCluster(配置集群结构文件)

//指定运行该脚本的计算机上mongodb的bin目录
-set MONGOPATH=E:\Mongodb\mongodb-win32-x86_64-2.6.6\bin           
//指定conf文件中配置的replSet值
-set REPLSET=clu1                                                                                              
//配置作为数据节点的实例连接串,多个以逗号分隔
-set DATA=192.168.1.6:27017,192.168.1.7:27017
//配置作为仲裁节点的实例连接串,多个以逗号分隔                                        
-set ARBIT=192.168.1.6:27018,192.168.1.7:27018,192.168.1.8:27018,192.168.1.9:27018     


2.datanode.conf(配置数据节点信息)

//数据保存路径
-dbpath=E:\Mongodb\mongodbdata\db
//log保存路径                                              
-logpath=E:\Mongodb\mongodbdata\log\log.txt
//端口                               
-port=27017                                                                                            


3.arbiternode.conf(配置仲裁节点信息) 
-dbpath=E:\Mongodb\mongodbdata\Arbiter                                    
-logpath=E:\Mongodb\mongodbdata\Arbiter\log.txt                       
-port=27018                                                                                          


4.regDataNodeService(配置数据节点启动命令)

//指定运行该脚本的计算机上mongodb的bin目录
-set MONGOPATH=E:\Mongodb\mongodb-win32-x86_64-2.6.6\bin
//指定服务引用的配置文件路径                                                   
-set CONF=E:\Mongodb\mongodb-win32-x86_64-2.6.6\bin\MongoCmd\datanode.conf
//指定注册服务名               
-set SERVICENAME=MongoDataNode
//指定服务显示名称                                                                                                    
-set DISPLAYNAME=Mongo Data Node Service                                                                                    


5.regArbiterNodeService(配置仲裁节点启动命令)

set MONGOPATH=E:\Mongodb\mongodb-win32-x86_64-2.6.6\bin                                                  
set CONF=E:\Mongodb\mongodb-win32-x86_64-2.6.6\bin\MongoCmd\arbiternode.conf            
set SERVICENAME=MongoArbitNode
set DISPLAYNAME=Mongo Arbit Node Service


同理在主机B也修改如上的文件。由于主机C和主机D只做仲裁节点,所以只修改第3和第5的文件


步骤3:注册服务

--主机A--

1.运行regDataNodeService和regArbiterNodeService,将数据节点和仲裁节点服务器注册到服务中。注册成功后,可以在服务里看到服务名称。

2.运行ConfigMongoCluster,会有如下信息,表示成功.

---------------------------------------------------------------------------------------

MongoDB shell version: 2.6.6
connecting to: 192.168.1.6:27017/admin
cfgjson=
{
        "_id" : "clu1",
        "members" : [
                {
                        "_id" : 0,
                        "host" : "192.168.1.6:27017",
                        "priority" : 1
                },
                {
                        "_id" : 1,
                        "host" : "192.168.1.7:27017",
                        "priority" : 2
                },
                {
                        "_id" : 2,
                        "host" : "192.168.1.6:27018",
                        "arbiterOnly" : true
                },
                {
                        "_id" : 3,
                        "host" : "192.168.1.7:27018",
                        "arbiterOnly" : true
                },
                {
                        "_id" : 4,
                        "host" : "192.168.1.8:27018",
                        "arbiterOnly" : true
                },
                {
                        "_id" : 5,
                        "host" : "192.168.1.9:27018",
                        "arbiterOnly" : true
                }
        ]
}


initiate result:
{
        "info" : "try querying local.system.replset to see current configuration
",
        "ok" : 0,
        "errmsg" : "already initialized"
}

同理在主机B上也运行如上程序。主机C和主机D只需要将仲裁节点服务注册(regArbiterNodeService)上就好。


步骤4:使用Windows自带的网络负载均衡软件配置集群后再运行CheckMongodbNLB文件。

主机A和主机B一个显示Master状态,一个显示Slave状态就表示工作正常,再测试下是否成功。

NLB 群集控制实用程序 V2.6 (c) 1997-2007 Microsoft Corporation.
群集 192.168.1.10
群集操作已停止。
 15:01:44 SLAVE:192.168.1.6:27017
 15:01:57 SLAVE:192.168.1.6:27017
 15:02:09 SLAVE:192.168.1.6:27017
 15:02:22 SLAVE:192.168.1.6:27017

NLB 群集控制实用程序 V2.6 (c) 1997-2007 Microsoft Corporation.
群集 192.168.1.10
群集操作已开始。
 15:02:36 MASTER:192.168.1.7:27017
 15:04:43 MASTER:192.168.1.7:27017

猜你喜欢

转载自blog.csdn.net/dumplingoba/article/details/47951371