mongodb分布式配置

  1. 服务器架构:
    序号                角色                ip地址                备注
    1                   服务器            192.168.8.81     (config  server)
    2                   路由                192.168.8.82     (mongos)
    3                   分片节点         192.168.8.83     (shard)
    4                   分片节点         192.168.8.84     (shard)
  2. 服务器配置(192.168.8.81):
    a. 修改配置文件:
    vim /etc/mongod.conf
    fork = true
    pidfilepath = /var/run/mongodb/mongod.pid
    logpath = /var/log/mongodb/mongod.log
    unixSocketPrefix = /var/run/mongodb
    dbpath = /var/lib/mongodb
    port=27017
    configsvr=true

    b. 启动服务:

    systemctl  start  mongod
  3. 路由配置(192.168.8.82):
    a. 修改配置文件:
    vim /etc /mongod.conf
    fork = true
    pidfilepath = /var/run/mongodb/mongod.pid
    logpath = /var/log/mongodb/mongod.log
    unixSocketPrefix = /var/run/mongodb
    #dbpath = /var/lib/mongodb  (注释掉数据库)
    port=27017
    configdb=192.168.8.81:27017

    b. 删除数据库中的文件:

    rm  -rf  /var/lib/mongodb/*

    c. 启动服务:

    mongos  -f  /etc/mongod.conf 
  4. 分片机配置(192.168.8.83/84):
    a. 修改配置文件:
    vim /etc/mongod.conf
    fork = true
    pidfilepath = /var/run/mongodb/mongod.pid
    logpath = /var/log/mongodb/mongod.log
    unixSocketPrefix = /var/run/mongodb
    dbpath = /var/lib/mongodb

    b. 启动服务:

    systemctl  start  mongod
  5. 测试:
    a. 路由机(192.168.8.82):
    a-1. 进入终端:
    mongo

    a-2. 添加分片机:

    sh.addShard("192.168.8.83:27017")
    sh.addShard("192.168.8.84:27017")

    a-3. 查看分片机状态:

    sh.status()

    a-4. 添加分片数据库:

    sh.enableSharding("testdb")

    a-5. 添加索引:

    sh.shardCollection("testdb.user",{name:1,age:1})

    a-6. 添加测试数据:

    for  (i = 1;i < 100000; i++) 
        {
                db.user.insert({name:'user'+i,age:(i%150),addr:'#'+i}
        }

    b. 分片机(192.168.8.83/84):
    b-1. 进入终端:

    mongo

    b-2. 查看经过分片处理的数据:

    use  testdb
    db.user.find()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值