- 服务器列表:
服务器IP | 10.0.0.11 | 10.0.0.12 | 10.0.0.13 |
---|---|---|---|
配置服务 | config(27100) | config(27100) | config(27100) |
shard1服务 | shard1主节点(27001) | shard1副节点(27001) | shard1副节点(27001) |
shard2服务 | shard2主节点(27002) | shard2副节点(27002) | shard2副节点(27002) |
shard3服务 | shard3主节点(27003) | shard3副节点(27003) | shard3副节点(27003) |
路由服务 | mongos(27200) | mongos(27200) | mongos(27200) |
安装mongodb(三台服务器都要执行此操作):
- 配置 yum源:
vim /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
- 安装:
yum -y install mongodb-org-4.2.16 mongodb-org-server-4.2.16 mongodb-org-shell-4.2.16 mongodb-org-mongos-4.2.16 mongodb-org-tools-4.2.16
- 配置 yum源:
创建目录:
mkdir -p /var/run/mongodb/cluster/config/{log,data,run} mkdir -p /var/run/mongodb/cluster/shard1/{log,data,run} mkdir -p /var/run/mongodb/cluster/shard2/{log,data,run} mkdir -p /var/run/mongodb/cluster/shard3/{log,data,run} mkdir -p /var/run/mongodb/cluster/mongos/{log,data,run}
创建配置服务(三台服务器都要执行此操作):
- 创建配置文件:
vim /var/run/mongodb/cluster/config/mongod.conf
systemLog: destination: file logAppend: true path: /var/run/mongodb/cluster/config/log/mongod.log storage: dbPath: /var/run/mongodb/cluster/config/data journal: enabled: true processManagement: fork: true pidFilePath: /var/run/mongodb/cluster/config/run/mongod.pid net: port: 27100 bindIp: 10.0.0.11 replication: replSetName: config sharding: clusterRole: configsvr
- 启动配置服务:
mongod --config /var/run/mongodb/cluster/config/mongod.conf
- 初始化配置副本集:
mongo --port 27100 --host 10.0.0.11
config = { _id : "config", members : [ {_id : 0, host : "10.0.0.11:27100" }, {_id : 1, host : "10.0.0.12:27100" }, {_id : 2, host : "10.0.0.13:27100" } ] } rs.initiate(config) rs.status() exit
- 创建配置文件:
创建shard1服务(三台服务器都要执行此操作):
- 创建配置文件:
vim /var/run/mongodb/cluster/shard1/mongod.conf
systemLog: destination: file logAppend: true path: /var/run/mongodb/cluster/shard1/log/mongod.log storage: dbPath: /var/run/mongodb/cluster/shard1/data journal: enabled: true processManagement: fork: true pidFilePath: /var/run/mongodb/cluster/shard1/run/mongod.pid net: port: 27001 bindIp: 10.0.0.11 replication: replSetName: shard1 sharding: clusterRole: shardsvr
- 启动shard1服务:
mongod --config /var/run/mongodb/cluster/shard1/mongod.conf
- 初始化shard1副本集:
mongo --port 27001 --host 10.0.0.11
use admin config = { _id : "shard1", members : [ {_id : 0, host : "10.0.0.11:27001" }, {_id : 1, host : "10.0.0.12:27001" }, {_id : 2, host : "10.0.0.13:27001" } ] } rs.initiate(config) rs.status() exit
- 创建配置文件:
创建shard2服务(三台服务器都要执行此操作):
- 创建配置文件:
vim /var/run/mongodb/cluster/shard2/mongod.conf
systemLog: destination: file logAppend: true path: /var/run/mongodb/cluster/shard2/log/mongod.log storage: dbPath: /var/run/mongodb/cluster/shard2/data journal: enabled: true processManagement: fork: true pidFilePath: /var/run/mongodb/cluster/shard2/run/mongod.pid net: port: 27002 bindIp: 10.0.0.11 replication: replSetName: shard2 sharding: clusterRole: shardsvr
- 启动shard2服务:
mongod --config /var/run/mongodb/cluster/shard2/mongod.conf
- 初始化shard2副本集:
mongo --port 27002 --host 10.0.0.11
use admin config = { _id : "shard2", members : [ {_id : 0, host : "10.0.0.11:27002" }, {_id : 1, host : "10.0.0.12:27002" }, {_id : 2, host : "10.0.0.13:27002" } ] } rs.initiate(config) rs.status() exit
- 创建配置文件:
创建shard3服务(三台服务器都要执行此操作):
- 创建配置文件:
vim /var/run/mongodb/cluster/shard3/mongod.conf
systemLog: destination: file logAppend: true path: /var/run/mongodb/cluster/shard3/log/mongod.log storage: dbPath: /var/run/mongodb/cluster/shard3/data journal: enabled: true processManagement: fork: true pidFilePath: /var/run/mongodb/cluster/shard3/run/mongod.pid net: port: 27003 bindIp: 10.0.0.11 replication: replSetName: shard3 sharding: clusterRole: shardsvr
- 启动shard3服务:
mongod --config /var/run/mongodb/cluster/shard3/mongod.conf
- 初始化shard3副本集:
mongo --port 27003 --host 10.0.0.11
use admin config = { _id : "shard3", members : [ {_id : 0, host : "10.0.0.11:27003" }, {_id : 1, host : "10.0.0.12:27003" }, {_id : 2, host : "10.0.0.13:27003" } ] } rs.initiate(config) rs.status() exit
- 创建配置文件:
创建路由服务(三台服务器都要执行此操作):
- 创建配置文件:
vim /var/run/mongodb/cluster/mongos/mongod.conf
systemLog: destination: file logAppend: true path: /var/run/mongodb/cluster/mongos/log/mongod.log processManagement: fork: true pidFilePath: /var/run/mongodb/cluster/mongos/run/mongod.pid net: port: 27200 bindIp: 10.0.0.11 sharding: configDB: config/10.0.0.11:27100,10.0.0.12:27100,10.0.0.13:27100
- 启动路由服务:
mongos --config /var/run/mongodb/cluster/mongos/mongod.conf
- 初始化路由副本集:
mongo --port 27200 --host 10.0.0.11
sh.addShard("shard1/10.0.0.11:27001,10.0.0.12:27001,10.0.0.13:27001") sh.addShard("shard2/10.0.0.12:27002,10.0.0.13:27002,10.0.0.11:27002") sh.addShard("shard3/10.0.0.13:27003,10.0.0.11:27003,10.0.0.12:27003") rs.slaveOk() exit
- 创建配置文件:
集群测试:
- 在主服务器创建测试数据库(dbTest):
mongo --port 27200 --host 10.0.0.11
use dbTest db.testTable.insert({name: "lee"}) show dbs exit
- 在副本服务器查看测试数据库是否存在:
mongo --port 27200 --host 10.0.0.12
show dbs exit
mongo --port 27200 --host 10.0.0.13
show dbs exit
- 在主服务器创建测试数据库(dbTest):
附录:
- 服务启动命令:
mongod --config /var/run/mongodb/cluster/config/mongod.conf mongod --config /var/run/mongodb/cluster/shard1/mongod.conf mongod --config /var/run/mongodb/cluster/shard2/mongod.conf mongod --config /var/run/mongodb/cluster/shard3/mongod.conf mongos --config /var/run/mongodb/cluster/mongos/mongod.conf
- 服务停止命令:
mongod --shutdown --dbpath /var/run/mongodb/cluster/shard3/data mongod --shutdown --dbpath /var/run/mongodb/cluster/shard2/data mongod --shutdown --dbpath /var/run/mongodb/cluster/shard1/data mongod --shutdown --dbpath /var/run/mongodb/cluster/config/data
- 服务启动命令:
文档更新时间: 2024-04-20 10:57 作者:lee