美文网首页
docker 搭建mongodb 分片集群 ---- 单机版

docker 搭建mongodb 分片集群 ---- 单机版

作者: 你常不走的路 | 来源:发表于2018-09-02 20:55 被阅读110次

根据自己配置 随意搭配

这是 三个config server 一个分片 副本集 一个mongos

version: '3'
services:
  csrs1:
    image: mongo:latest
    container_name: csrs1
    command: mongod --noauth --configsvr --replSet csrs --dbpath /data/db
  csrs2:
    image: mongo:latest
    container_name: csrs2
    command: mongod --noauth --configsvr --replSet csrs --dbpath /data/db
  csrs3:
    image: mongo:latest
    container_name: csrs3
    command: mongod --noauth --configsvr --replSet csrs --dbpath /data/db
  mongos:
    image: mongo:latest
    container_name: mongos1
    command: mongos --noauth --configdb csrs/csrs1:27019,csrs2:27019,csrs3:27019
  shrs1:
    image: mongo:latest
    command: mongod --noauth --dbpath /data/db --shardsvr --replSet shrs
  shrs2:
    image: mongo:latest
    command: mongod --noauth --dbpath /data/db --shardsvr --replSet shrs
  shrs3:
    image: mongo:latest
    command: mongod --noauth --dbpath /data/db --shardsvr --replSet shrs

直接 docker-compose up -d

配置 config server 副本集

然后 进入 任意一个 config server中 ,例如 进入 csrs1
docker exec -it csrs1 bash

然后连接到 mongo --port 27019
然后进行配置

config = {_id:"csrs",configsvr:true,members:[{_id:0,host:"csrs1:27019"},{_id:1,host:"csrs2:27019"},{_id:2,host:"csrs3:27019"}]}
rs.initiate(config)
rs.status() #应该当前节点  会变成  主节点

配置 shard 分片 副本集

# 进入 mongo
docker exec -it shrs1 bash
#然后 连接
mongo --port 27018
config = { _id:"shrsd", members:[
                     {_id:0,host:"shrs1:27018"},
                     {_id:1,host:"shrs2:27018"},
                     {_id:2,host:"shrs3:27018"}
                ]
         }
rs.initiate(config)
rs.status() # 不出意外 此节点就会成为主节点 
#########如果 你是用了 另一种方式 进行添加 可能 出现下面mongos无法 添加成功
rs.initirte()
rs.add("shrs2:27018)
rs.add("shrs3:27018)
rs.status() 
# 这样做 可以添加成功  但是下面mongos 无法成功  添加  

然后 配置 mongos

# 进入mongos 
docker exec -it mongos1 mongo 
# 然后
use admin
sh.addShard("shrs/shrs1:27018,shrs2:27018,shrs3:27018)
# 应该 就添加上了  
# 然后 试试分片
# 设置数据库 分片
db.runCommand( { enablesharding :"testdb"});
# 设置 表 以什么字段 进行分片  我这里是以  id hashed 散列分布 用其他的 可能出现数据太小 无法分布 但是 我们这只有一个 也不存在什么分布 不分布
sh.shardCollection("testdb.table1", { id: "hashed" } )

use testdb
for (var i = 1; i <= 100000; i++){db.table1.save({_id:i,"test1":"testval1"})}

#不出意外 就可以看见 数据插入了 如果只有一个分片副本集 跟普通副本集差不多  所以 我们现在 再加一个 分片

后面在写吧  脑子里 太多 太乱了 

相关文章

  • Mongodb分片集群搭建

    MongoDb分片集群搭建 基于mongodb3.6 分片集群的权限控制 Brief: 内部通过keyfile控制...

  • docker 搭建mongodb 分片集群 ---- 单机版

    根据自己配置 随意搭配 这是 三个config server 一个分片 副本集 一个mongos 直接 dock...

  • MongoDB分片集群搭建

    本文主要介绍了mongoDB分片集群概念,以及分片集群搭建过程,方便下次参考。 概念 分片(sharding)是一...

  • docker搭建mongo分片集群(docker-compose

    本文是对上一篇文章(docker搭建mongo分片集群)的进一步整理,简化mongdb分片集群的配置docker-...

  • 搭建Mongodb高可用分片集群

    搭建Mongodb高可用分片集群 一、规划 服务器:IP:192.168.1.101/192.168.1.102/...

  • NoSQL三--mongodb(二)

    目录 十一、mongodb分片介绍十二、mongodb分片搭建十三、mongodb分片测试十四、mongodb备份...

  • mongodb分片集群的安装

    火山日常啰嗦前面两篇讲了mongodb单机版的安装和复制集的配置,接下来我会讲到mongodb分片集群的安装配置,...

  • mongodb分片集群搭建

    环境 服务器:centOS7 mongodb版本:3.6.2 集群方案:路由服务器(2台)+分片服务器(2个分片,...

  • MongoDB 集群分片搭建

    环境要求 本次安装环境使用了三台乌班图虚拟机, 关于为什么搭建分片集群,想必这里不用多介绍了.肯定是因为数据量太大...

  • MongoDB 分片集群搭建

    摘要 本文内容基于mongodb4.2.3 本文基于本地安装,也就是ip相同,端口不同 3个shard复制集(3台...

网友评论

      本文标题:docker 搭建mongodb 分片集群 ---- 单机版

      本文链接:https://www.haomeiwen.com/subject/fhxvwftx.html