mongodb分片搭建

首先下载安装程序 官方下载地址

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

      配置文件

      sharding:
      clusterRole: configsvr

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

    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中进行创建原来的集群中的可读、可写的账号。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值