Mongodb - 切片搭建
0.概述
mongodb分片搭建,版本号4.0.2,以下除了创建opt文件夹以外,所有操作均在mongodb用户下面执行
准备三台机器:
192.168.56.81
192.168.56.82
192.168.56.83
配置服务器端口号:20000
路由服务器端口号:20004
分片服务器端口号:20001/20002/20003
1.启动Config Server,端口号设置为20000
(把以下的步骤分别在三台服务器中执行一遍)
mkdir /opt
chown mongodb:mongodb /opt
su - mongodb
cd /opt
mkdir -p ./shard/config
mkdir -p ./shard/config/data
mkdir -p ./shard/config/log
mongod --configsvr --dbpath=/opt/shard/config/data --logpath=/opt/shard/config/log/config.log --port 20000 --fork --logappend --replSet rsconf --bind_ip_all
2.在其中一台初始化Config Server集群
192.168.56.81:
mongo --port 20000
use admin
config = {_id: 'rsconf', members: [
{_id: 0, host: '192.168.56.81:20000'},
{_id: 1, host: '192.168.56.82:20000'},
{_id: 2, host: '192.168.56.83:20000'}]}
rs.initiate(config)
rs.conf()
rs.status()
3.启动Query Routers,端口号设置为20004
(把以下的步骤分别在三台服务器中执行一遍)
cd /opt
mkdir -p ./shard/mongos
mkdir -p ./shard/mongos/log
mongos --configdb rsconf/192.168.56.81:20000,192.168.56.82:20000,192.168.56.83:20000 --logpath=/opt/shard/mongos/log/mongos.log --port 20004 --fork --logappend
4.启动Shard Server 1,集群名字rs1,端口号20001
(把以下的步骤分别在三台服务器中执行一遍)
cd /opt
mkdir -p ./shard/replset/rs1/data
mkdir -p ./shard/replset/rs1/log
mongod --shardsvr --replSet rs1 --dbpath=/opt/shard/replset/rs1/data --logpath=/opt/shard/replset/rs1/log/rs1.log --fork --port 20001 --logappend --bind_ip_all
5.在其中一台初始化Shard Server副本集
192.168.56.81:
mongo --port 20001
use admin
config = {_id: 'rs1', members: [
{_id: 0, host: '192.168.56.81:20001'},
{_id: 1, host: '192.168.56.82:20001'},
{_id: 2, host: '192.168.56.83:20001', 'arbiterOnly':true}]}
rs.initiate(config)
6.重复第4,5步
注意修改 rs1 --> rs2, rs3
注意修改 20001 --> 20002, 20003
7.登陆mongos路由
192.168.56.81:
mongo --port 20004
use admin
db.runCommand({"addshard":"rs1/192.168.56.81:20001,192.168.56.82:20001,192.168.56.83:20001"});
db.runCommand({"addshard":"rs2/192.168.56.81:20002,192.168.56.82:20002,192.168.56.83:20002"});
db.runCommand({"addshard":"rs3/192.168.56.81:20003,192.168.56.82:20003,192.168.56.83:20003"});
激活分片
db.runCommand({"enableSharding":"test"}); #test是数据库名字
db.runCommand({"shardCollection":"test.students",key:{name:1}}); #test.students是集合名字
8.查看分片的状态
db.printShardingStatus()
9.验证分片情况
for (var x=1; x<200000; x++) {
db.students.insert({"name":"fuckmongo - " + x,"stuid":x});
}
for (var x=1; x<200000; x++) {
db.students.insert({"name":"lovemongo - " + x,"stuid":x});
}
for (var x=1; x<200000; x++) {
db.students.insert({"name":"hatemongo - " + x,"stuid":x});
}
for (var x=1; x<2000000; x++) {
db.students.insert({"name":"moremongo - " + x,"stuid":x});
}
rs.status()
db.students.stats()
Mongodb - 切片搭建的更多相关文章
- 《OD大数据实战》MongoDB环境搭建
一.MongonDB环境搭建 1. 下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2. 解压 tar -zxvf ...
- 【MongoDB】MongoDB服务器搭建(Unix/Linux)
1.安装MongboDB安装包(开源免费的哟) 在Mac 下 brew install mongoDB 就可以啦 安装要等一会儿,大概200M 2. cd到MongboDB文件夹 - 如果是用home ...
- MongoDB+php7搭建
0x00前言: 今天一位非计算机专业的朋友问我怎么打开.bson文件,我第一反应.bson文件是什么,网上查了下是mongodb的传输文件.也就是类似于mysql的.sql文件一样 之前看过mongo ...
- MongoDB——环境搭建
项目中需要将一些读多改少的数据存入到 MongoDB 数据库中来提高效率,于是简单学习一些MongoDB数据库的知识,来进行应对,也是对自己知识盲区进行补充.本文主要学习介绍MongoDB数据库在Li ...
- MongoDB:搭建三节点 Replica Set 环境
今天学习了搭建 MongDB 复制环境,实验环境是在虚拟机上同一系统,并搭建三节点 Replica Set,根据文档上的描述,mongodb 复制配置简单,并且能够自动 failover,这些高级特性 ...
- mongodb主从搭建
#tigergao 官网进行下包,可以下载源码包或者二进制包,本次下载的为二进制包,进行试验. 主服务器搭建: mkdir mongomaster cp mongodb-linux-x86_64-rh ...
- MongoDB环境搭建
MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...
- NoSql数据库初探-mongoDB环境搭建
NoSQL数据库一改关系型数据库的缺点,更容易的集成.分布式.无模式.故障恢复等特点,正在一步步餐食关系型数据库的市场,作为一个与时俱进的码农了解一下新技术是必须的,尤其是在读了<NoSql精粹 ...
- Windows下MongoDB环境搭建
MongoDB下载 登录MongoDB官网:www.mongodb.org:点击[Download MongoDB]按钮,进入如下所示界面 选择目标操作系统及其版本,比如这里选择的是64位的Windo ...
随机推荐
- Junit的Assert用法
package junit.framework; /** * A set of assert methods. Messages are only displayed when an assert f ...
- 推荐系统之矩阵分解及C++实现
1.引言 矩阵分解(Matrix Factorization, MF)是传统推荐系统最为经典的算法,思想来源于数学中的奇异值分解(SVD), 但是与SVD 还是有些不同,形式就可以看出SVD将原始的评 ...
- c++动态库封装及调用(3、windows下动态库调用)
1.DLL的隐式调用 隐式链接采用静态加载的方式,比较简单,需要.h..lib..dll三件套.新建“控制台应用程序”或“空项目”.配置如下: 项目->属性->配置属性->VC++ ...
- python3解析库BeautifulSoup4
Beautiful Soup是python的一个HTML或XML的解析库,我们可以用它来方便的从网页中提取数据,它拥有强大的API和多样的解析方式. Beautiful Soup的三个特点: Beau ...
- 利用mysqltuner工具对mysql数据库进行优化
mysqltuner工具使用,本工具建议定期运行,发现目前MYSQL数据库存在的问题及修改相关的参数 工具的下载及部署 解决环境依赖,因为工具是perl脚本开发的,需要perl脚本环境 # yun i ...
- Linux中断处理(一)
最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~~第一阶段--获取中断号每个 ...
- SQL Server 触发器demo
GO /****** Object: Trigger [dbo].[tri_device] Script Date: 2018/6/11 10:56:08 ******/ SET ANSI_NUL ...
- Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11
____________________________________________________________________________________________________ ...
- hdu5178 尺取
会爆int /* 给定数轴上一些点对,问有多少点对之间的距离差不超过k 点对排序后尺取法:枚举每个左边界,找到一个右边界使得 */ #include<bits/stdc++.h> #def ...
- hdu3530 双单调队列的维护
单调队列有部分堆的功能,但其只能维护给定区间中比v大的值或者比v小的值,且其一般存储元素的下标. 思路:两个单调队列维护最大值与最小值的下标,如果区间的最大值最小值之差大于给定范围,则选择队首靠左的删 ...