zoukankan      html  css  js  c++  java
  • mongodb生产环境(副本集模式)集群搭建配置

    mongodb副本集模式由如下几部分组成:

    1、路由实例mongos

    2、配置实例configsvr

    3、副本集集群replset(一主多从)

    tips:

    1、以上实例都是mongod守护进程

    2、以上实例应在同一网段

    配置一个集群分两步:启动和配置。

    1、启动

    对于下面实例的管理,你可以将各个实例都创建一个目录,然后将数据和配置还有log都放在实例的目录下,启动脚本可以仿照下面的方式编写。

    路由实例:10.94.99.53:29017

    tips:--configdb为路由实例的ip:port,这里即为10.94.99.55:27219

    $sudocommandnd $mongo_dir/mongos --configdb $configsvr_list --bind_ip $bind_ip --port $port --logpath $instance_dir/logs/mongos.log --pidfilepath $instance_dir/pid/mongos.pid -f $instance_dir/conf/mongos.conf --fork

    配置实例:10.94.99.55:27219

    $sudocommandnd $mongo_dir/mongod --configsvr --bind_ip $bind_ip --port $port  --dbpath $instance_dir/data --logpath $instance_dir/logs/configsvr.log --pidfilepath $instance_dir/pid/configsvr.pid -f $instance_dir/conf/configsvr.conf --fork

    副本集实例:10.94.99.55:27017;10.94.99.55:27018

    $sudocommandnd $mongo_dir/mongod --replSet $replSetName --bind_ip $bind_ip --port $port  --dbpath $instance_dir/data --logpath $instance_dir/logs/$replSetName.log --pidfilepath $instance_dir/pid/$replSetName.pid -f $instance_dir/conf/replset.conf --fork

    2、配置

    先配置副本集集群,进入任意一个副本集实例,这里是27017

    mongo 10.94.99.55:27017

    初始化副本集

    use admin
    replSet1:PRIMARY> rs.initiate({
       _id: "replSet1",
       members: [
          { _id: 0, host: "10.94.99.55:27017" },
          { _id: 1, host: "10.94.99.55:27018" }
       ]
    })

    配置成功后,可已查看副本集状态

    # 查看副本集配置
    replSet1:PRIMARY> rs.conf()
    # 查看副本集状态
    replSet1:PRIMARY> rs.status()

    至此副本集配置完毕。下面开始配置路由实例。

    进入路由实例,这里是29017。

    mongo 10.94.99.55:29017

    添加路由实例配置

    # 切换到admin数据库
    mongos> use admin
    # 谁是主分片加载谁
    mongos> sh.addShard("replSet1/10.94.99.55:27017")
    mongos> db.runCommand({enableSharding:"watch"})
    输出: { "ok" : 1 }
    db.runCommand( { shardCollection: "watch.alarm", key:{"_id":1}})
    输出: { "collectionsharded" : "watch.alarm", "ok" : 1 }
  • 相关阅读:
    Flume入门与进阶
    git如何忽略已经加入版本控制的文件
    Redis常用命令
    如何在宝塔面板上添加创建一个定时任务
    PHP代码篇(九)PHP接口开发如何使用JWT进行验证身份
    七. Go并发编程--sync.Once
    六. Go并发编程--WaitGroup
    5. Go 并发编程--sync/atomic
    4. Go并发编程--Mutex/RWMutex
    docker内服务访问宿主机服务
  • 原文地址:https://www.cnblogs.com/kangoroo/p/6071351.html
Copyright © 2011-2022 走看看