mongodb分片集群配置

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

mkdir /usr/local/mongodb/etc

mkdir /usr/local/mongodb/data

mkdir /usr/local/mongodb/logs

mkdir /usr/local/mongodb/pid



1、安装软件

tar zxvf mongodb-linux-x86_64-rhel62-3.0.2.tgz && mv mongodb-linux-x86_64-rhel62-3.0.2/* /usr/local/mongodb/

2、创建mongodb数据实例配置文件,以端口区分配置文件

dbpath=/usr/local/mongodb/data/21000

logpath=/usr/local/mongodb/logs/21000.log

pidfilepath=/usr/local/mongodb/pid/21000.pid

directoryperdb=true

logappend=true

replSet=peiwo

port=21000

oplogSize=100

fork=true

noprealloc=true

启动:

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/etc/data21000.conf




3、创建mongodb配置服务器,存储所有数据库元信息(路由、分片)的配置,以端口区分配置文件

dbpath=/usr/local/mongodb/data/22000

logpath=/usr/local/mongodb/logs/22000.log

pidfilepath=/usr/local/mongodb/pid/22000.pid

directoryperdb=true

logappend=true

port=22000

oplogSize=100

fork=true

noprealloc=true

configsvr=true


启动:

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/etc/configsvr22000.conf

/usr/local/mongodb/bin/mongod --configsvr --dbpath /usr/local/mongodb/data/22002 --port 22002 --fork --logpath /usr/local/mongodb/logs/22002.log


4、启动路由节点

/usr/local/mongodb/bin/mongos --configdb 10.144.8.86:22000,10.144.8.86:22001,10.144.8.86:22002 --port 20000 --fork --logpath /usr/local/mongodb/logs/configdb.log


5、配置Replica Set副本集

/usr/local/mongodb/bin/mongo 10.163.111.142:7000   #ip和port是某个节点的地址


use admin


replcfg={ _id:"peiwo", members:[ {_id:0,host:'10.163.111.142:21000',priority:2}, {_id:1,host:'10.163.111.142:21001',priority:1}, {_id:2,host:'10.163.111.142:21002',arbiterOnly:true}] };


rs.initiate(replcfg)             #使配置生效


rs.status()  #查看副本集状态


db.getMongo().setSlaveOk(); #mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。


6、配置Sharding

/usr/local/mongodb/bin/mongo 10.144.8.86:20000   #这里必须连接路由节点

use admin

>sh.addShard("peiwo/10.163.111.142:21000") #test表示replica set的名字 当把主节点添加到shard以后,会自动找到set里的主,备,决策节点  

>db.runCommand({enableSharding:"peiwotestdb"})    #diameter_test is database name  

>db.runCommand( { shardCollection: "peiwotestdb.peiwotable",key:{"_id":1}})  


第一个命令很容易理解,第二个命令是对需要进行Sharding的数据库进行配置,第三个命令是对需要进行Sharding的Collection进行配置,这里的dcca_dccr_test即为Collection的名字。另外还有个key,这个是比较关键的东西,对于查询效率会有很大的影响,具体可以查看Shard Key Overview

到这里Sharding也已经搭建完成了,以上只是最简单的搭建方式,其中某些配置仍然使用的是默认配置。如果设置不当,会导致效率异常低下,所以建议大家多看看官方文档再进行默认配置的修改。







     本文转自aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/1741513,如需转载请自行联系原作者

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2月前
|
存储 NoSQL 前端开发
MongoDB 分片
10月更文挑战第17天
44 2
|
3月前
|
存储 监控 NoSQL
*MongoDB的水平扩展主要通过分片技术实
*MongoDB的水平扩展主要通过分片技术实
55 5
|
3月前
|
存储 NoSQL 前端开发
MongoDB 分片总结
这篇文章总结了MongoDB分片的概念、集群结构、分片实例、配置和测试过程。
109 6
|
4月前
|
存储 运维 NoSQL
轻松上手:逐步搭建你的高可用MongoDB集群(分片)
【8月更文挑战第13天】在数据激增的背景下,传统单机数据库难以胜任。MongoDB作为流行NoSQL数据库,采用分片技术实现水平扩展,有效处理海量数据。分片将数据分散存储,提高并发处理能力和容错性,是高可用架构基石。构建MongoDB集群需理解shard、config server和router三组件协同工作原理。通过具体实例演示集群搭建流程,包括各组件的启动及配置,确保数据高可用性和系统稳定性。合理规划与实践可构建高效稳定的MongoDB集群,满足业务需求并支持未来扩展。
138 0
|
4月前
|
NoSQL MongoDB Windows
MongoDB 读写分离——Windows MongoDB 副本集配置
MongoDB 读写分离——Windows MongoDB 副本集配置
98 0
|
7月前
|
NoSQL 算法 测试技术
【MongoDB 专栏】MongoDB 的自动分片与手动分片
【5月更文挑战第11天】MongoDB的分片技术在处理大规模数据和高并发场景中至关重要,提供自动和手动两种方式。自动分片基于预定义规则,简化管理,适合大部分场景,但灵活性有限。手动分片则允许用户自定义策略,实现高效布局,适用于有特殊需求的应用,但配置复杂。选择分片方式需考虑业务需求、数据特点和技术能力。正确实施分片策略能构建高性能、可扩展的系统,支持企业业务发展。随着技术进步,未来的分片技术将更加智能和易用。
211 3
【MongoDB 专栏】MongoDB 的自动分片与手动分片
|
6月前
|
存储 负载均衡 NoSQL
MongoDB的分片功能
【6月更文挑战第6天】MongoDB的分片功能
78 1
|
5月前
|
存储 NoSQL 关系型数据库
MongoDB的配置服务器和复制机制
【7月更文挑战第2天】MongoDB配置服务器存储分片和权限元数据,支持在主节点故障时保持读服务。关键组件,性能影响显著。复制集包含Primary和Secondary,通过oplog实现数据同步,类似MySQL binlog。oplog的幂等性可能导致大量set操作,且大小受限,可能导致从节点需全量同步。读写分离提升效率,主从切换确保高可用。
60 0
|
5月前
|
负载均衡 NoSQL 中间件
|
6月前
|
安全 NoSQL 程序员
老程序员分享:mongodb4.xxx安装,和基本配置
老程序员分享:mongodb4.xxx安装,和基本配置
55 0