三.设置配置程序
1.配置 操作服务器(mongo1 mongo2 mongo3)
mongodb3.4以后要求配置服务器也创建副本集,不然集群搭建不成功。
vim /usr/local/mongodb/conf/config.conf
#配置文件内容
pidfilepath =
/usr/local/mongodb/config/log/configsrv.pid
dbpath =
/usr/local/mongodb/config/data
logpath =
/usr/local/mongodb/config/log/congigsrv.log
logappend = true
bind_ip =
自己的ip
port =
21000
fork = true
#declare this is a config db of a cluster;
configsvr = true
#副本集名称
replSet=configs
#设置最大连接数
maxConns=20000
2.启动 操作服务器(mongo1 mongo2 mongo3)
启动配置程序,显示successfully才成功
mongod -f /usr/local/mongodb/conf/config.conf
3.初始化副本集 操作服务器(mongo1)
链接自己的21000端口,也就是配置服务的端口 mongo –host 1.1.1.1 –port 21000
先填写副本集的地址,再初始化,最后返回 ok:1 即可。
config = {_id : "configs",members : [{_id : 0, host : "1.1.1.1:21000" },{_id : 1, host : "1.1.1.2:21000" },{_id : 2, host : "1.1.1.3:21000" }]}
rs.initiate(config)
四.设置分片节点程序
1.shard1配置
操作服务器(mongo1 mongo2 mongo3)
vim /usr/local/mongodb/conf/shard1.conf
#配置文件内容
#三台服务器改对应的目录和IP
pidfilepath =
/usr/local/mongodb/shard1/log/shard1.pid
dbpath =
/usr/local/mongodb/shard1/data
logpath =
/usr/local/mongodb/shard1/log/shard1.log
logappend = true
#更改服务器地址
bind_ip =
本机ip
port =
27001
fork = true
#打开web监控
httpinterface=true
rest=true
#副本集名称
replSet=shard1
#declare this is a shard db of a cluster;
shardsvr = true
#设置最大连接数
maxConns=20000
2.shard1启动
操作服务器(mongo1 mongo2 mongo3)
mongod -f /usr/local/mongodb/conf/shard1.conf
3.shard1初始化
操作服务器(mongo1)
链接
mongo --host 1.1.1.1 --port 27001
切换到admin数据库,填写shard3作为仲裁点,最后返回 ok:1 则正确。
use admin
config = {_id : "shard1",members : [{_id : 0, host : "1.1.1.1:27001" },{_id : 1, host : "1.1.1.2:27001" },{_id : 2, host : "1.1.1.3:27001" , arbiterOnly: true }]}
rs.initiate(config)
4.shard2配置
操作服务器(mongo1 mongo2 mongo3)
vim /usr/local/mongodb/conf/shard2.conf
#三台服务器改对应的目录和IP
pidfilepath =
/usr/local/mongodb/shard2/log/shard2.pid
dbpath =
/usr/local/mongodb/shard2/data
logpath =
/usr/local/mongodb/shard2/log/shard2.log
logappend = true
bind_ip =
本机ip
port =
27002
fork = true
httpinterface=true
rest=true
replSet=shard2
shardsvr = true
maxConns=20000
5.shard2启动
操作服务器(mongo1 mongo2 mongo3)
mongod -f /usr/local/mongodb/conf/shard2.conf
6.shard2初始化 操作服务器(mongo2) 因为这次要设置1节点为仲裁点,不能在1节点上初始化,所以到mongo2上。
链接
mongo --host 1.1.1.2 --port 27002
切换到admin数据库,填写shard1作为仲裁点,最后返回 ok:1 则正确。
use admin
config = {_id : "shard2",members : [{_id : 0, host : "1.1.1.1:27002" , arbiterOnly: true},{_id : 1, host : "1.1.1.2:27002" },{_id : 2, host : "1.1.1.3:27002" }]}
rs.initiate(config)
7.shard3配置
操作服务器(mongo1 mongo2 mongo3)
vim /usr/local/mongodb/conf/shard3.conf
#三台服务器改对应的目录和IP
pidfilepath =
/usr/local/mongodb/shard3/log/shard3.pid
dbpath =
/usr/local/mongodb/shard3/data
logpath =
/usr/local/mongodb/shard3/log/shard3.log
logappend = true
bind_ip =
本机ip
port =
27003
fork = true
httpinterface=true
rest=true
replSet=shard3
shardsvr = true
maxConns=20000
8.shard3启动
操作服务器(mongo1 mongo2 mongo3)
mongod -f /usr/local/mongodb/conf/shard3.conf
9.shard3初始化 操作服务器(mongo1)
链接
mongo --host 1.1.1.1 --port 27003
切换到admin数据库,填写shard2作为仲裁点,最后返回 ok:1 则正确。
use admin
config = {_id : "shard3",members : [{_id : 0, host : "1.1.1.1:27003" },{_id : 1, host : "1.1.1.2:27003" , arbiterOnly: true},{_id : 2, host : "1.1.1.3:27003" }]}
rs.initiate(config)