mongodb切片配置方法
---------------------------------切片架构图-------------------------------------------------------------------------------
切片1 切片2 切片3
| | |
------------------
|
| | -----配置服务器(主)
用户---------->路由-----------|-----配置服务器(从1)
|-----配置服务器(从2)
注:mongo 3.4版本以后配置服务器必须是复本集,因此看到有的教程配置服务器是一台时都是老版本了。
-----------------------------------------------------------------------------------------------------------------------------------
步骤:
1、先配置配置服务器的复本集
1)主 ./mongod --configsvr --dbpath /home/jack/mongoData01/data --logpath /home/jack/mongoData01/log/log --port 3000 --replSet myset
2)从1 ./mongod --configsvr --dbpath /home/jack/mongoData02/data --logpath /home/jack/mongoData02/log/log --port 3100 --replSet myset
3)从2 ./mongod --configsvr --dbpath /home/jack/mongoData03/data --logpath /home/jack/mongoData03/log/log --port 3300 --replSet myset
**说明:--configsvr一定要加上,说明该服务器是配置服务器
4)主从全部起动,用shell登陆主,然后设置副本集
(1)、配置信息
rsconf={
"_id" : "myset",
"members" : [
{
"_id" : 0,
"host" : "172.16.60.180:3000"
}
]
}
(2)、初始化
rs.initiate(rsconf)
(3)、添加集群
rs.add("172.16.60.180:3100")
rs.add("172.16.60.180:3200")
2、配置路由服务器并启动
./mongos --configdb myset/172.16.60.180:3000,172.16.60.180:3100,172.16.60.180:3200 --logpath /home/jack/mongoData04/log/log --port 3300
说明:configdb后面的myset必须与配置服务器上的副本集名字一致。
3、配置切片服务器
1) cd /home/jack/mongodb-linux-x86_64-3.4.5/bin
./mongod --dbpath /home/jack/mongoData06/data --logpath /home/jack/mongoData01/log/log --port 3400 --shardsvr
2) cd /home/jack/mongodb-linux-x86_64-3.4.5/bin
./mongod --dbpath /home/jack/mongoData06/data --logpath /home/jack/mongoData01/log/log --port 3500 --shardsvr
**说明:--shardsvr一定要加上,说明该服务器是切片服务器
3、连接路由并添加切片
1)sh.addShard('172.16.60.180:3400')
2)sh.addShard('172.16.60.180:3500')
3)sh.addShard('172.16.60.180:3600')
4、添加待分片的库
sh.enableSharding(databaseName)
5、添加待分片的表
sh.shardCollection('dbName.CollectionName',{field:1})
--------------------------------------------------------------------------------------------------------------
**说明:1)若需要分片时,数据已经存在,则需要对collection中的某一字段先创建索引
2)一旦分片键和分片值确定下来了就不可以改变。
其他命令:
1)查看其他集群状态信息
sh.status()
2)自定义分片(例子)
for(var i=0;i<40;i++){
sh.splitAt('dbName.CollectionName',{field:i*1000})
}
3)修改chunck大小(单位:M)
(1)、use config
(2)、db.settings.save({_id:"chuncksize",value:64})
----------------------------------------------------------------------------------------------------------------
mongodb切片配置方法的更多相关文章
- MongoDB 镜像配置方法
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. 配置方法 安装 ...
- Mac OS下安装MongoDB以及配置方法总结【笔记】
首先打开命令框,输入: brew install mongodb 安装完成后 启动.停止.重启如下 brew services start mongodb brew services stop mo ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- MongoDB C Driver and APIinstances linux MongoDB安装配置
<一,linux平台MongoDB安装配置>在这我们使用的Centos6 yum部署的,你想搞编译,自个干!
- shell 环境变量的相关配置文件和配置方法
shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...
- Docker Mongo数据库主主同步配置方法
一.背景 不多说,请看第一篇<Docker Mongo数据库主从同步配置方法> 二.具体操作方法 1.创建目录,如创建~/test/mongo_sr1和-/test/mongo_sr2两个 ...
- MongoDB安装配置教程
数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...
- windows上MongoDB远程访问配置
今天用另一台机器上的MongoDB,但是使用本地连接时,没问题 换成IP地址时,出现 解决的方法,修改配置文件 systemLog: destination: file path: d:/Mongod ...
- mongodb数据库环境配置
数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...
随机推荐
- 解密Go语言之 pprof
相信很多人都听过“雷神 3”关于性能优化的故事.在一个 3D 游戏引擎的源码里,John Carmack 将 1/sqrt(x) 这个函数的执行效率优化到了极致. 一般我们使用二分法,或者牛顿迭代法计 ...
- mycat是什么?你是怎么理解的?你们公司分库分表的分片规则是什么?搭建mycat环境常用的配置文件有哪些?
1.mycat是什么? 国内最活跃的.性能最好的开源数据库分库分表中间件 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集 ...
- 应用安全 - 免杀 - 工具 - the-backdoor-factory - 使用|命令 - 汇总
安装 Kali下方式一: git clone https://github.com/secretsquirrel/the-backdoor-factory方式二: apt-get install ba ...
- 【CUDA】CUDA框架介绍
引用 出自Bookc的博客,链接在此http://bookc.github.io/2014/05/08/my-summery-the-book-cuda-by-example-an-introduct ...
- 【VS开发】在VS2010中开发ActiveX控件设置测试容器的方式
在VS2010中开发ActiveX控件设置测试容器的方式 借鉴文章http://blog.csdn.net/waxgourd0/article/details/7374669 在VS2010中开发MF ...
- shell基础#1
shell:能直接调用命令(python)1.bash的基本特性 ctrl+L 清屏2.IO重定向与管道符 都由shell提供 命令是一个可执行的二进制程序3.编程基础 编程原理 程序:执行某个功能的 ...
- tf-图像预处理
tensorflow 中自带了很多图像处理的方法,基本都在 tf.image 模块中,虽然不如 opencv 强大,但也比较常用,这里做个记录. 图像编解码 1. 用 tf 的方法读取图片后,都需要进 ...
- [Vue] vue的一些面试题2
1.Vue.observable 你有了解过吗?说说看 vue2.6 发布一个新的 API,让一个对象可响应.Vue 内部会用它来处理 data 函数返回的对象.返回的对象可以直接用于渲染函数和计算属 ...
- 如何使用Resource资源文件
一.目的 为了能够在DisplayAttribute中重复使用同样的名称,将所有的显示字符串集中管理. 二.方法 1.DisplayAttribute本身支持直接使用资源文件. [Display(Re ...
- 084、Prometheus 到底NB在哪里?(2019-05-06 周一)
参考https://www.cnblogs.com/CloudMan6/p/7709970.html 本节学习Prometheus的核心,多维数据模型 比如要监控容器 webapp1 的内存使 ...