博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零搭建mongo分片集群的简洁方法
阅读量:6096 次
发布时间:2019-06-20

本文共 2563 字,大约阅读时间需要 8 分钟。

一、目录

  1、mongo路径,config数据路径,shard数据路径

    

   

  2、shard数据路径的结构(共6个分片,分别位于D盘和E盘)

     1)D盘中

      

    2)E盘中

      

  3、启动各个服务端的批处理

   

    1)启动configs服务器

mongod --dbpath=d:\shard_configs --port 23017

   2)启动mongos服务器

mongos  --port 25017  --configdb 10.0.0.186:23017

   3)启动各个shard分片服务器

mongod --dbpath=d:\shard_data\shard_data_000 --port 27017
mongod --dbpath=d:\shard_data\shard_data_001 --port 27018
mongod --dbpath=d:\shard_data\shard_data_002 --port 27019
mongod --dbpath=e:\shard_data\shard_data_003 --port 27020
mongod --dbpath=e:\shard_data\shard_data_004 --port 27021
mongod --dbpath=e:\shard_data\shard_data_005 --port 27022

二、将各个分片添加到集群中

  1、防火墙上开放23017和25017端口

    

   2、将各个分片添加到集群中

C:\Users\Administrator>mongo 10.0.0.186:25017MongoDB shell version: 2.4.5connecting to: 10.0.0.186:25017/testmongos> use adminswitched to db adminmongos> db.runCommand({addshard:"10.0.0.186:27017",allowLocal:true}){ "shardAdded" : "shard0000", "ok" : 1 }mongos> db.runCommand({addshard:"10.0.0.186:27018",allowLocal:true}){ "shardAdded" : "shard0001", "ok" : 1 }mongos> db.runCommand({addshard:"10.0.0.186:27019",allowLocal:true}){ "shardAdded" : "shard0002", "ok" : 1 }mongos> db.runCommand({addshard:"10.0.0.186:27020",allowLocal:true}){ "shardAdded" : "shard0003", "ok" : 1 }mongos> db.runCommand({addshard:"10.0.0.186:27021",allowLocal:true}){ "shardAdded" : "shard0004", "ok" : 1 }mongos> db.runCommand({addshard:"10.0.0.186:27022",allowLocal:true}){ "shardAdded" : "shard0005", "ok" : 1 }mongos>

  3、查看最终的分片结果

mongos> use configswitched to db configmongos> db.shards.find(){ "_id" : "shard0000", "host" : "10.0.0.186:27017" }{ "_id" : "shard0001", "host" : "10.0.0.186:27018" }{ "_id" : "shard0002", "host" : "10.0.0.186:27019" }{ "_id" : "shard0003", "host" : "10.0.0.186:27020" }{ "_id" : "shard0004", "host" : "10.0.0.186:27021" }{ "_id" : "shard0005", "host" : "10.0.0.186:27022" }mongos>

三、创建数据库和集合,并制定分片键

  1、创建数据库,集合,索引

  

  2、指定news,forum集合的分片键

    1)数据库web_content启动分片功能

mongos> use adminswitched to db adminmongos> db.runCommand({
"enablesharding":"web_content"}){ "ok" : 1 }mongos>

    2)指定两个集合的分片键

mongos> use adminswitched to db adminmongos> db.runCommand({
"shardcollection":"web_content.news","key":{
"url_md5":1}}){ "collectionsharded" : "web_content.news", "ok" : 1 }mongos> db.runCommand({
"shardcollection":"web_content.forum","key":{
"url_md5":1}}){ "collectionsharded" : "web_content.forum", "ok" : 1 }mongos>

    3)查看初始时的分片情况

      news集合:

        

      forum集合:

        

 

转载于:https://www.cnblogs.com/edisonfeng/p/3636576.html

你可能感兴趣的文章
selenium - Headless Browser and scraping - solutions - Stack Overflow
查看>>
公司------【关于真诚】
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
OSI七层模型
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>