zoukankan      html  css  js  c++  java
  • MongoDB 分片副本集集群搭建

    配置准备

    三台机器:

    A(193.168.10.101) 
    
    B(193.168.10.102)
    
    C(193.168.10.103)
    MongoDB 安装目录:/usr/local/mongodb
    MongoDB 数据库目录:/usr/local/mongodb/data
    
    MongoDB 日志目录:/usr/local/mongodb/log
    MongoDB 配置文件:/usr/local/mongodb/conf/mongodb.conf

    每台机器上都安装好mongodb

    配置过程

    启动mongo实例

    三台机器上分别启动

    ./mongod --logpath /usr/local/mongodb/logs/a/r0.log --logappend --dbpath /usr/local/mongodb/data/a/r0 --journalCommitInterval 300 --port 10000 --shardsvr --replSet setA --rest  --oplogSize 64 --fork
    
    ./mongod --logpath /usr/local/mongodb/logs/b/r0.log --logappend --dbpath /usr/local/mongodb/data/b/r0 --journalCommitInterval 300 --port 20000 --shardsvr --replSet setB --rest  --oplogSize 64 --fork
    
    ./mongod --logpath /usr/local/mongodb/logs/c/r0.log --logappend --dbpath /usr/local/mongodb/data/c/r0 --journalCommitInterval 300 --port 30000 --shardsvr --replSet setC --rest  --oplogSize 64 --fork
    
    .
    /mongod --configsvr --logpath /usr/local/mongodb/logs/configServer/r0.log --logappend --dbpath /usr/local/mongodb/data/configServer/r0 --port 40000 --fork

    //三台机器执行完上面的以后 再执行下面的命令
    ./mongos --configdb 193.168.10.101:40000,193.168.10.102:40000,193.168.10.103:40000 --logpath /usr/local/mongodb/logs/serverlogs/mongos.log --logappend --port 50000 --fork

    设置副本集

    ./mongo 193.168.10.101:10000
    rs.initiate({_id : "setA", members : [{_id : 0, host : "193.168.10.101:10000"}]})
    rs.add("193.168.10.102:10000")
    rs.add("193.168.10.103:10000")
    
    ./mongo 193.168.10.101:20000
    rs.initiate({_id : "setB", members : [{_id : 0, host : "193.168.10.101:20000"}]})
    rs.add("193.168.10.102:20000")
    rs.add("193.168.10.103:20000")
    
    ./mongo 193.168.10.101:30000
    rs.initiate({_id : "setC", members : [{_id : 0, host : "193.168.10.101:30000"}]})
    rs.add("193.168.10.102:30000")
    rs.add("193.168.10.103:30000")
    可以自己设置哪个是主节点
    cfg
    =rs.status() //查看节点顺序 ...... cfg.members[0].priority = 1 cfg.members[1].priority = 1 cfg.members[2].priority = 2 //设置为2的为主节点 rs.reconfig(cfg)

    分别进入两个从节点进行配置(setA setB setC每个的从节点都需要)

    db.getMongo().setSlaveOk() //设置从节点为只读

    设置分片

    //设置分片 从50000路由端口进入
    ./mongo 193.168.10.101:50000
    
    sh.addShard("setA/193.168.10.101:10000,193.168.10.102:10000,193.168.10.103:10000");
    
    sh.addShard("setB/193.168.10.101:20000,193.168.10.102:20000,193.168.10.103:20000");
    
    sh.addShard("setC/193.168.10.101:30000,193.168.10.102:30000,193.168.10.103:30000");

    验证

    printShardingStatus()
    use testdb
    db.createCollection('test01') //创建一个表
    use admin
    db.runCommand({enablesharding:'test01'})  //设置数据库可以分片
    db.runCommand({shardcollection:'testdb.test01',key:{c_id:1}})
  • 相关阅读:
    HDU5343:MZL's Circle Zhou(SAM,记忆化搜索DP)
    动归皆背包——那些做过的背包
    CODEVS 3943 数学奇才琪露诺
    codevs 1540 银河英雄传说
    CODEVS 1004四子连棋
    洛谷1082 同余方程
    洛谷1006 传纸条
    洛谷1508 Likecloud-吃、吃、吃
    洛谷1108 低价购买
    洛谷1156 垃圾陷阱
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/10450589.html
Copyright © 2011-2022 走看看