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 ...
随机推荐
- Python巧用正则表达式,完成接口参数替换
最近给Python11期的小朋友们上课,遇到了一个参数替换的问题,首先描述下场景: 需要参数化的数据如下所示: 这个时候如果利用单纯的if判断和字符串的find和replace方法,做起来是非常不明智 ...
- MySQL中几个关于时间/时区的变量
一.log_timestamps 1.1.官方解释 log_timestamps: Log timestamp format. Added in MySQL 5.7.2.This variable c ...
- .Net Core中使用RabbitMQ
(1).引入依赖 RabbitMQ.Client (2).编写发布者代码 var connectionFactory = new ConnectionFactory() { HostName=&quo ...
- SpringBoot处理静态资源的两种方式
静态资源是指----> CSS.JS之类的文件 首先创建SpringBoot Web项目 添加Spring Boot Web Starter <dependency> <gro ...
- SpringBoot整合日志
Java日志 日志的接口层.抽象层 日志的实现 JCL(Jakarta Commons Logging) SLF4J(Simple Logging Facade for Java) Jboss-Log ...
- memcmp与strncmp函数【转】
c中strncmp与memcmp的区别 函数:int memcmp (const void *a1, const void *a2, size_t size) 函数memcmp用于比较字 ...
- oracle 11g 空表导出
背景 oracle9用了一段时间,10用了一段时间,11现在算是主流了.11g也是坑人,空表竟然不导出,解决方法到时很多.这里只是记录下,知道有这个事情. 9的特点是还要用客户端管理工具链接服务器 1 ...
- (网络编程)socketserver模块服务端实现并发
基于tcp的套接字(实现并发),关键就是两个循环,一个链接循环,一个通信循环 基于udp的套接字(不是正真意义上的并发,实现真并发) socketserver模块中分两大类:server类(解决链接问 ...
- sqlserver2008r2实现镜像
拓扑图 环境 主服务器: 192.168.8.16 winserver2008b 镜像服务器 192.168.11.128 mssql1 见证服务器: 192.168.8.69 server2008c ...
- lvs基本概念、调度方法、ipvsadm命令及nat模型示例
LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...