博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb分片搭建
阅读量:4294 次
发布时间:2019-05-27

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

首先下载安装程序 

  1. 搭建configserver 
    由于configserver的重要性,强烈推荐由至少3台机器组成configserver副本集
    1. 解压并创建配置文件,并复制到3台机器上
    2. 配置文件中增加

      配置文件

      sharding:

      clusterRole: configsvr

    3. 启动所有实例,并登录其中一台机器,运行mongo程序(如果需要打开登录认证功能,参见:)

    4. 执行初始化副本集脚本

      示例

      rs.initiate({

      _id: "candao_qc_config",
      configsvr: true,
      members: [
      { _id : 0, host : "10.200.102.36:27117" ,"priority":100 },
      { _id : 1, host : "10.200.102.41:27117","priority":1 },
      { _id : 2, host : "10.200.102.45:27117","priority":1 }
      ]
      })

    5. 等待初始化完成,此时configserver副本集就搭建完成了
  2. 搭建shard server

    每个shard负责存储集群的一部分数据,如果数据损坏,则会导致这部分数据丢失,重要性不言而喻,同样强烈推荐由至少3台机器组成副本集
    搭建副本集不在赘述,参见:,与副本集不同的是,需要在每台机器的配置文件中添加如下配置:

    配置示例

    sharding:

    clusterRole: shardsvr

    想要分多少个片,就按述方法配置多少个副本集

  3. 配置mongos程序
    1. 创建mongos.conf

      配置示例

      net:

      port: 27017
      ##日志文件
      systemLog:
      destination: file
      path: "mongod.log"
      logAppend: true
      processManagement:
      ##以后台进程运行
      fork: true
      sharding:
      configDB: candao_qc_config/10.200.102.36:27117,10.200.102.45:27117,10.200.102.41:27117

    2. 启动mongos进程./mongos -f mongos.conf (通常可以启动多个,可以将mongos进程部署在部署项目的机器上)

  4. 在mongos上将配置好的分片副本集加入分片集群 (直接在bin下:./mongo)

    配置示例

    sh.addShard( "candao_qc_shard1/10.200.102.31:27027");

    sh.addShard( "candao_qc_shard2/10.200.102.31:27028");
    sh.addShard( "candao_qc_shard3/10.200.102.31:27029");

  5. 将要分片的数据库开启分片 sh.enableSharding("datacenter_qc")
  6. 将表进行分片 sh.shardCollection("datacenter_qc.order", { "createTime":1, "brandId":1 } )
    至此,分片搭建完成,如果刚才分片的集合中有数据,此时需要等待后台进程将数据按照片键均匀地迁移到其他机器上

 

  1.  在工具或者程序中,需要用可读可写账号进行访问mongo的数据,这个时候,需要在configserver中进行创建原来的集群中的可读、可写的账号。

转载地址:http://miuws.baihongyu.com/

你可能感兴趣的文章
PCB设计技巧与注意事项
查看>>
linux进程之间通讯常用信号
查看>>
main函数带参数
查看>>
PCB布线技巧
查看>>
关于PCB设计中过孔能否打在焊盘上的两种观点
查看>>
PCB反推理念
查看>>
京东技术架构(一)构建亿级前端读服务
查看>>
git 提示:error: unable to rewind rpc post data - try increasing http.postBuffer
查看>>
php 解决json_encode中文UNICODE转码问题
查看>>
LNMP 安装 thinkcmf提示404not found
查看>>
PHP empty、isset、innull的区别
查看>>
apache+nginx 实现动静分离
查看>>
通过Navicat远程连接MySQL配置
查看>>
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>