1、配置文件设置
mkdir -p /data/shard1/db
mkdir -p /logs/shard1/log
mkdir -p /data/shard2/db
mkdir -p /logs/shard2/log
mkdir -p /data/shard3/db
mkdir -p /logs/shard3/log
mkdir -p /data/config/db
mkdir -p /logs/config/log
mkdir -p /logs/mongs/log
2、配置文件 (新建在 /etc/mongo 目录下)
-
mongod1.conf 内容如下:
dbpath=/data/shard1/db
logpath=/logs/shard1/log/mongodb.log
port=10001
shardsvr=true
fork=true
-
bind_ip_all=true #允许所有IP地址访问
mongod2.conf 内容如下:
dbpath=/data/shard2/db
logpath=/logs/shard2/log/mongodb.log
port=10002
shardsvr=true
fork=true
-
bind_ip_all=true #允许所有IP地址访问
mongod3.conf 内容如下:
dbpath=/data/shard3/db
logpath=/logs/shard3/log/mongodb.log
port=10003
shardsvr=true
fork=true
-
bind_ip_all=true #允许所有IP地址访问
其中 shardsvr 是用来开启分片的。
-
从配置文件启动 mongod 服务:
mongod -f /etc/mongo/mongod1.conf
mongod -f /etc/mongo/mongod2.conf
mongod -f /etc/mongo/mongod3.conf
3、配置启动节点服务
mongod --dbpath /data/config/db --logpath /logs/config/log/mongodb.log --port 10004 --bind_ip 0.0.0.0 --configsvr --replSet cs --fork
连接 route 节点
mongo localhost:10004
输入以下命令
use admin
cfg = {
_id:'cs',
configsvr:true,
members:[
{_id:0,host:'localhost:10004'}
]
}
rs.initiate(cfg)
运行效果如图1所示,说明设置成功:
4、配置启动节点服务
- mongos --configdb cs/localhost:10004 --logpath /logs/mongs/log/mongodb.log --port 10005 --bind_ip 0.0.0.0 --fork
连接上 route 节点
mongo localhost:10005
添加分片
sh.addShard('localhost:10001')
sh.addShard('localhost:10002')
sh.addShard('localhost:10003')
查看集群的状态:分片摘要信息、数据库摘要信息、集合摘要信息等
sh.status()
运行效果如图 2 所示,说明设置成功: