1.简述
mongodb版本是3.4
生产环境采用副本集集群方案,可用性非常高
同样需要至少三台服务器,最好是三台物理机上的三个虚拟机
2.下载server和管理工具
------server-----
https://pan.baidu.com/s/1BV6QnCy0zW7RqKDtgElI0w
-----管理工具----
https://pan.baidu.com/s/11iTWHcYeSqplqTb3ufyjow
3.94服务器目录结构(D盘)
mongodb_3.4
master
mongodb_3.4_backup
mongodb_3.4_data
master
mongodb_3.4_log
master
mongodb_3.4_pid
master
4.144服务器目录结构(D盘)
mongodb_3.4
slaver
mongodb_3.4_backup
mongodb_3.4_data
slaver
mongodb_3.4_log
slaver
mongodb_3.4_pid
slaver
5.92服务器目录结构(D盘)
mongodb_3.4
arbiter
mongodb_3.4_backup
mongodb_3.4_data
arbiter
mongodb_3.4_log
arbiter
mongodb_3.4_pid
arbiter
6.分别安装mongodb到
mongodb_3.4
master
mongodb_3.4
slaver
mongodb_3.4
arbiter
三个目录下
7.92服务器D:\mongodb_3.4\arbiter\bin目录下新建
------arbiter.config-------
dbpath=D:\mongodb_3.4_data\arbiter
logpath=D:\mongodb_3.4_log\arbiter\arbiter.log
pidfilepath=D:\mongodb_3.4_pid\arbiter\arbiter.pid
directoryperdb=true
logappend=true
replSet=mongo34
bind_ip=192.168.204.92
port=26019
oplogSize=10000
noprealloc=true
----------install.bat---------
d:
cd D:\mongodb_3.4\arbiter\bin
mongod.exe --config "D:\mongodb_3.4\arbiter\bin\arbiter.config" --install --serviceName "mongodb34arbiter" --serviceDisplayName "mongodb34arbiter"
---------uninstall.bat---------
d:
cd D:\mongodb_3.4\arbiter\bin
mongod.exe --config "D:\mongodb_3.4\arbiter\bin\arbiter.config" --remove --serviceName "mongodb34arbiter"
8.144服务器D:\mongodb_3.4\arbiter\bin目录下新建
-------------slaver.config-----------
dbpath=D:\mongodb_3.4_data\slaver
logpath=D:\mongodb_3.4_log\slaver\slaver.log
pidfilepath=D:\mongodb_3.4_pid\slaver\slaver.pid
directoryperdb=true
logappend=true
replSet=mongo34
bind_ip=192.168.223.144
port=26018
oplogSize=10000
noprealloc=true
-----------install.bat------------
d:
cd D:\mongodb_3.4\slaver\bin
mongod.exe --config "D:\mongodb_3.4\slaver\bin\slaver.config" --install --serviceName "mongodb34slaver" --serviceDisplayName "mongodb34slaver"
----------uninstall-----------
d:
cd D:\mongodb_3.4\slaver\bin
mongod.exe --config "D:\mongodb_3.4\slaver\bin\slaver.config" --remove --serviceName "mongodb34slaver"
9.94服务器D:\mongodb_3.4\arbiter\bin目录下新建
---------master.config-------
dbpath=D:\mongodb_3.4_data\master
logpath=D:\mongodb_3.4_log\master\master.log
pidfilepath=D:\mongodb_3.4_pid\master\master.pid
directoryperdb=true
logappend=true
replSet=mongo34
bind_ip=192.168.204.94
port=26017
oplogSize=10000
noprealloc=true
--------install.bat----------
d:
cd D:\mongodb_3.4\master\bin
mongod.exe --config "D:\mongodb_3.4\master\bin\master.config" --install --serviceName "mongodb34master" --serviceDisplayName "mongodb34master"
---------uninstall.bat--------
d:
cd D:\mongodb_3.4\master\bin
mongod.exe --config "D:\mongodb_3.4\master\bin\master.config" --remove --serviceName "mongodb34master"
--------script.txt----------
cd D:\mongodb_3.4\master\bin
mongo 192.168.204.94:26017
use admin
cfg={ _id:"mongo34", members:[ {_id:0,host:'192.168.204.94:26017',priority:2}, {_id:1,host:'192.168.223.144:26018',priority:1}, {_id:2,host:'192.168.204.92:26019',arbiterOnly:true}] };
rs.initiate(cfg)
rs.status()
use admin
db.createUser(
{
user: "usernametest",
pwd: "passtest",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
10.使用install.bat脚本安装3个服务并启动,并使用script.txt脚本配置副本集集群即可
11.使用robo连接已经安装好的mongodb集群即可
12.项目利用nuget安装mongodb.driver 2.5.1版本,client如下
public class MongoDBHelper
{
private static MongoClient Client;
private static bool IsOnline = true;
static MongoDBHelper() {
MongoClientSettings setting = new MongoClientSettings()
{
ConnectionMode = ConnectionMode.ReplicaSet,
ReplicaSetName = "mongo34",
Servers = IsOnline ? new List()
{
new MongoServerAddress("192.168.204.94",26017),
new MongoServerAddress("192.168.223.144",26018),
new MongoServerAddress("192.168.204.92",26019)
} : new List
{
new MongoServerAddress("10.168.100.102",26017),
new MongoServerAddress("10.168.100.102",26018),
new MongoServerAddress("10.168.100.102",26019)
}
};
//MongoCredential credential = MongoCredential.CreateCredential("database", "username", "pass");
//setting.Credential = credential;
Client = new MongoClient(setting);
}
public static MongoClient GetClient()
{
return Client;
}
}