zoukankan      html  css  js  c++  java
  • MongoDB分片实战

    准备目录

    /home/mongodb/shard/s0
    /home/mongodb/shard/s1
    /home/mongodb/config0
    /home/mongodb/config1
    /home/mongodb/log
    

     启动shard

    /usr/local/mongodb/bin/mongod --port 3000 --dbpath=/home/mongodb/shard/s0 --logpath=/home/mongodb/log/s0.log --logappend --fork --shardsvr
    /usr/local/mongodb/bin/mongod --port 3001 --dbpath=/home/mongodb/shard/s1 --logpath=/home/mongodb/log/s1.log --logappend --fork --shardsvr
    

     启动config

    /usr/local/mongodb/bin/mongod --port 3999 --dbpath=/home/mongodb/config/c0 --logpath=/home/mongodb/log/config0.log --logappend --fork --configsvr --replSet=config
    /usr/local/mongodb/bin/mongod --port 39990 --dbpath=/home/mongodb/config/c1 --logpath=/home/mongodb/log/config1.log --logappend --fork --configsvr --replSet=config
    

     复制集conf配置

    /usr/local/mongodb/bin/mongo localhost:3999
    rs.initiate({_id: 'config', members: [{_id: 0, host: 'localhost:3999'}, {_id: 1, host: 'localhost:39990'}]})
    rs.isMaster() #查看主从关系
    

     创建Route

    /usr/local/mongodb/bin/mongos --port 40000 --bind_ip 0.0.0.0 --configdb config/localhost:3999,localhost:39990 --logpath=/home/mongodb/log/route.log --fork --logappend
    

     设置分片

    /usr/local/mongodb/bin/mongo admin --port 40000
    use admin
    db.runCommand({ addshard: 'localhost:3000'})
    db.runCommand({ addshard: 'localhost:3001'})
    db.runCommand({ enablesharding: 'ship_position'})
    db.runCommand({ shardcollection: 'ship_position.ais', key: {receiveTimeLong: 1}})
    db.runCommand({ shardcollection: 'ship_position.gps', key: {receiveTimeLong: 1}})
    db.runCommand({ shardcollection: 'ship_position.rfid', key: {receiveTimeLong: 1}})
    

     创建用户

    use admin
    db.createUser(
       {
         user: "root",
         pwd: "QWERpoiu1234",
         roles:
           [
             { role: "readWrite", db: "config" },
             "clusterAdmin"
           ]
       }
    )
    

     打开端口

    firewall-cmd --zone=public --add-port=40000/tcp --permanent
    

    第二次启动服务

    /usr/local/mongodb/bin/mongod --port 3000 --dbpath=/home/mongodb/shard/s0 --logpath=/home/mongodb/log/s0.log --logappend --fork --shardsvr
    /usr/local/mongodb/bin/mongod --port 3001 --dbpath=/home/mongodb/shard/s1 --logpath=/home/mongodb/log/s1.log --logappend --fork --shardsvr
    /usr/local/mongodb/bin/mongod --port 3999 --dbpath=/home/mongodb/config/c0 --logpath=/home/mongodb/log/config0.log --logappend --fork --configsvr --replSet=config
    /usr/local/mongodb/bin/mongod --port 39990 --dbpath=/home/mongodb/config/c1 --logpath=/home/mongodb/log/config1.log --logappend --fork --configsvr --replSet=config
    /usr/local/mongodb/bin/mongos --port 40000 --bind_ip 0.0.0.0 --configdb config/localhost:3999,localhost:39990 --logpath=/home/mongodb/log/route.log --fork --logappend
    
  • 相关阅读:
    bind 与Eval的区别
    GDI+
    文件读写
    “六度分离”和 洪泛(Search flooding)搜索
    Internet streaming 现在谁是霸主?
    苹果提供高清HD下载SO贵
    关于Youtube 的平均文件尺寸与GFS
    [笔记+整理]随机网络和无标度网络
    2008年中国广播电视广告额增长超15%
    笔记:Mobile CDN 和IPTV CDN有哪些不同
  • 原文地址:https://www.cnblogs.com/song-wentao/p/10716571.html
Copyright © 2011-2022 走看看