mongodb3.2 安装配置
最近折腾了一下最新版mongodb集群安装配置,目前测试可以运行,可能还有一些问题,需要慢慢去发现。
对于3.2之前的版本部署不了解,网上也有好多。总的来说,有以下几种部署方式:
1.单机部署
2.副本集部署
3.分片部署
4.分片副本集部署
前面几种部署都相对简单,这里不做说明。下面主要记录一下第4种方式部署,也是生产环境的建议部署方式,可以满足集群的高可用和高吞吐量。
有几个概念需要先说明一下:
configsvr:分片部署的配置节点,不存储具体数据,只存储分片的信息
shardcvr:分片部署的数据节点,存数具体的数据
mongos:分片路由节点,和configsvr关联,用户直接连接它完成数据库的操作。
primary:副本集的主节点,默认读写都在这个节点上操作,然后同步到其他副本节点上。
secondary:副本集从节点。
下面记录个按个分片,每个分片2个副本的配置过程:
需要注意的是,每一个组件都是一个单独的进程,一个mongo包要拷贝多分,来代表不同的组件。
1.首先规划好机器
总共三台机器:192.168.1.100,192.168.1.101,192.168.1.102
192.168.1.100:1个configsvr,3个shardsvr,1个mongos
192.168.1.101:1个configsvr,3个shardsvr,1个mongos
192.168.1.102:1个configsvr,3个shardsvr,1个mongos
一次配置configsvr、shardsvr、monogs。具体查看每个如何配置。
配置副本集:https://docs.mongodb.org/manual/tutorial/deploy-replica-set/
配置分片:https://docs.mongodb.org/manual/tutorial/deploy-shard-cluster/
mongo配置选项:https://docs.mongodb.org/manual/reference/configuration-options/
2.启动所有的configsvr
连接任意一个configsvr,然后初始化configsvr副本集(注意3.2+版本支持configsvr副本集),在shell输入:
rs.initiate( { _id: "configrs", configsvr: true, members: [ { _id: 0, host: "192.168.1.100:27017" }, { _id: 1, host: "192.168.1.101:27017" }, { _id: 1, host: "192.168.1.102:27017" } ] } )
3.配置每个分片的副本集
启动所有的shard节点,第一个shard副本集的配置:连接任意一个shard1的节点,然后在shell输入:
rs.initiate({ "_id" : "shard1rs", "version" : 1, "members" : [ { "_id" : 0, "host" : "192.168.1.100:27018" }, { "_id" : 1, "host" : "192.168.1.101:27018" }, { "_id" : 2, "host" : "192.168.1.102:27018" } ] })
剩余的两个shard也要做类似的操作。
4.启动mongos
需要在mongos的配置中加入
configDB configrs/192.168.1.100:27017,192.168.1.101:27017,192.168.1.102:27017
指定mongos的监听端口为17710
5.为mongos加入shard分片信息
连接mongos的shell,然后输入:
sh.addShard("shard1rs/192.168.1.100:27018,192.168.1.101:27018,192.168.1.102:27018") sh.addShard("shard2rs/192.168.1.100:27019,192.168.1.101:27019,192.168.1.102:27019") sh.addShard("shard2rs/192.168.1.100:27020,192.168.1.101:27020,192.168.1.102:27020")
6.开启分片功能
mongo分片是相对collection来说的,也就是说要对collection设置分片。
首先需要开始database的shard功能,然后才能对collection进行分片配置。
在mongos的shell
开启database分片功能:
sh.enableSharding("data")
设置collection分片:
sh.shardCollection("data.user", { "_id": "hashed" } )
阅读更多
- centos6.5下安装配置mongodb3.2
- CentOS7安装配置mongodb3.2
- mongodb3.2安装与基本配置
- mongodb 3.2 实战(二)安装配置及常用操作
- 非关系型数据库MongoDB安装及环境变量配置
- Linux下MongoDB安装和启动配置
- 【MongoDB】安装与配置
- vc6+DDK+DriverStudio3.2安装与配置
- MongoDB 在linux下的安装配置
- windows下mongodb安装配置以及可视化工具
- OSX 10.8下安装配置tornado、mongodb开发环境及phpmoadmin
- 在CentOS中使用 yum 安装MongoDB及服务器端配置
- 安装mongodb配置windows服务流程
- Linux下安装配置MongoDB 3.0.x 版本数据库
- Redis3.2的安装配置与JReid测试
- 安装MongoDB配置及用户授权
- windows下MongoDB的安装及配置
- linux(centos 7) 环境 mongodb 安装,配置,创建用户密码
- mongodb安装和配置
- Linux-CentOS下mongodb安装和启动配置