mongodb分片集群搭建

分片(sharding)是MongoDB用来将大型集合水平分割到不同服务器(或者复制集)上所采用的方法。

 

1:分片集群组成

分片集群由以下3个服务组成:

  • Shards Server:每个shard由一个或多个mongod进程组成,用于存储数据。
  • Router Server: 数据库集群的请求入口,所有请求都通过Router(mongos)进行协调,不需要在应用程序添加一个路由选择器,Router(mongos)就是一个请求分发中心它负责把应用程序的请求转发到对应的Shard服务器上。
  • Config Server: 配置服务器。存储所有数据库元信息(路由、分片)的配置。

2:搭建过程

节点1:

192.168.111.139机器上操作如下:

tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster

mkdir /data/cluster/config/logs -p

切到mongo_shard_cluster目录,添加配置文件config.conf

# 数据库文件位置
dbpath=/data/cluster/config
#日志文件位置
logpath=/data/cluster/config/logs/config.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
bind_ip=0.0.0.0
port=17017
# 表示是一个配置服务器
configsvr=true
#配置服务器副本集名称
replSet=configsvr

启动节点

./bin/mongod -config config.conf

节点2:

192.168.111.140机器上操作如下:

tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster

mkdir /data/cluster/config/logs -p

切到mongo_shard_cluster目录,添加配置文件config.conf

# 数据库文件位置
dbpath=/data/cluster/config
#日志文件位置
logpath=/data/cluster/config/logs/config.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
bind_ip=0.0.0.0
port=17017
# 表示是一个配置服务器
configsvr=true
#配置服务器副本集名称
replSet=configsvr

启动节点

./bin/mongod -config config.conf

节点3:

192.168.111.141服务器上操作如下

tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster

mkdir /data/cluster/config/logs -p

切到mongo_shard_cluster目录,添加配置文件config.conf

# 数据库文件位置
dbpath=/data/cluster/config
#日志文件位置
logpath=/data/cluster/config/logs/config.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
bind_ip=0.0.0.0
port=17017
# 表示是一个配置服务器
configsvr=true
#配置服务器副本集名称
replSet=configsvr

启动节点

./bin/mongod -config config.conf

确保上面三个节点都已经正常运行

#######进入任意节点的mongo shell并添加配置节点集群,注意这里必须使用admin库进行操作######

./mongo --port 17017

use admin

var cfg ={"_id":"configsvr",
"members":[
{"_id":1,"host":"192.168.111.139:17017"},
{"_id":2,"host":"192.168.111.140:17017"},
{"_id":3,"host":"192.168.111.141:17017"}]
};
rs.initiate(cfg)

 

posted @ 2022-01-07 15:08  卜闻卜问卜听卜在乎  阅读(194)  评论(0编辑  收藏  举报