zoukankan      html  css  js  c++  java
  • docker中部署mongodb副本集

    1.基本信息如下

    服务器地址 192.168.73.129
    副本集名称 rs
    容器节点及端口映射
            m0 37017:27017
            m1 47017:27017
            m2 57017:27017
    注:机器环境安装docker

    2.部署步骤

    2.1下载mongo镜像

    docker pull mongo

    2.2 启动三个节点

    docker run --name m0 -p 37017:27017 -d mongo --replSet "rs"
    
    docker run --name m1 -p 47017:27017 -d mongo --replSet "rs"
    
    docker run --name m2 -p 57017:27017 -d mongo --replSet "rs"

    docker ps -a   //查看启动的容器

    2.3 连接任意一个节点,进行副本集配置

    进入其中一个容器:docker exec -it de242cc5fa5a  /bin/bash 

    连接三个节点中的任意一个,注意ip地址为宿主机ip,我当前的为192.168.73.129

    mongo --host 192.168.73.129 --port 37017

    此时已连接到m0节点,进行副本集配置

    var config={
         _id:"rs",
         members:[
             {_id:0,host:"192.168.73.129:37017"},
             {_id:1,host:"192.168.73.129:47017"},
             {_id:2,host:"192.168.73.129:57017"}
    ]};
    rs.initiate(config)

    响应应该类似下面,注意此时命令提示符已经发生变化,由原来的 > 变成了 rs:SECONDARY>

    {
        "ok" : 1,
        "operationTime" : Timestamp(1522810920, 1),
        "$clusterTime" : {
            "clusterTime" : Timestamp(1522810920, 1),
            "signature" : {
                "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                "keyId" : NumberLong(0)
            }
        }
    }

    2.4查看副本集配置信息

    rs:SECONDARY> rs.conf()
    {
        "_id" : "rs",
        "version" : 1,
        "protocolVersion" : NumberLong(1),
        "writeConcernMajorityJournalDefault" : true,
        "members" : [
            {
                "_id" : 0,
                "host" : "192.168.73.129:37017",
                "arbiterOnly" : false,
                "buildIndexes" : true,
                "hidden" : false,
                "priority" : 1,
                "tags" : {
                    
                },
                "slaveDelay" : NumberLong(0),
                "votes" : 1
            },
            {
                "_id" : 1,
                "host" : "192.168.73.129:47017",
                "arbiterOnly" : false,
                "buildIndexes" : true,
                "hidden" : false,
                "priority" : 1,
                "tags" : {
                    
                },
                "slaveDelay" : NumberLong(0),
                "votes" : 1
            },
            {
                "_id" : 2,
                "host" : "192.168.73.129:57017",
                "arbiterOnly" : false,
                "buildIndexes" : true,
                "hidden" : false,
                "priority" : 1,
                "tags" : {
                    
                },
                "slaveDelay" : NumberLong(0),
                "votes" : 1
            }
        ],
        "settings" : {
            "chainingAllowed" : true,
            "heartbeatIntervalMillis" : 2000,
            "heartbeatTimeoutSecs" : 10,
            "electionTimeoutMillis" : 10000,
            "catchUpTimeoutMillis" : -1,
            "catchUpTakeoverDelayMillis" : 30000,
            "getLastErrorModes" : {
                
            },
            "getLastErrorDefaults" : {
                "w" : 1,
                "wtimeout" : 0
            },
            "replicaSetId" : ObjectId("5b3c937896d237ac24a0648e")
        }
    }
    rs:SECONDARY> 

    2.5 查看副本集状态

    rs:SECONDARY> rs.status()
    {
        "set" : "rs",
        "date" : ISODate("2018-07-04T09:45:38.110Z"),
        "myState" : 2,
        "term" : NumberLong(1),
        "syncingTo" : "192.168.73.129:37017",
        "syncSourceHost" : "192.168.73.129:37017",
        "syncSourceId" : 0,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
            "lastCommittedOpTime" : {
                "ts" : Timestamp(1530697530, 1),
                "t" : NumberLong(1)
            },
            "readConcernMajorityOpTime" : {
                "ts" : Timestamp(1530697530, 1),
                "t" : NumberLong(1)
            },
            "appliedOpTime" : {
                "ts" : Timestamp(1530697530, 1),
                "t" : NumberLong(1)
            },
            "durableOpTime" : {
                "ts" : Timestamp(1530697530, 1),
                "t" : NumberLong(1)
            }
        },
        "lastStableCheckpointTimestamp" : Timestamp(1530697480, 1),
        "members" : [
            {
                "_id" : 0,
                "name" : "192.168.73.129:37017",
                "health" : 1,
                "state" : 1,
                "stateStr" : "PRIMARY",
                "uptime" : 967,
                "optime" : {
                    "ts" : Timestamp(1530697530, 1),
                    "t" : NumberLong(1)
                },
                "optimeDurable" : {
                    "ts" : Timestamp(1530697530, 1),
                    "t" : NumberLong(1)
                },
                "optimeDate" : ISODate("2018-07-04T09:45:30Z"),
                "optimeDurableDate" : ISODate("2018-07-04T09:45:30Z"),
                "lastHeartbeat" : ISODate("2018-07-04T09:45:36.221Z"),
                "lastHeartbeatRecv" : ISODate("2018-07-04T09:45:36.296Z"),
                "pingMs" : NumberLong(0),
                "lastHeartbeatMessage" : "",
                "syncingTo" : "",
                "syncSourceHost" : "",
                "syncSourceId" : -1,
                "infoMessage" : "",
                "electionTime" : Timestamp(1530696579, 1),
                "electionDate" : ISODate("2018-07-04T09:29:39Z"),
                "configVersion" : 1
            },
            {
                "_id" : 1,
                "name" : "192.168.73.129:47017",
                "health" : 1,
                "state" : 2,
                "stateStr" : "SECONDARY",
                "uptime" : 967,
                "optime" : {
                    "ts" : Timestamp(1530697530, 1),
                    "t" : NumberLong(1)
                },
                "optimeDurable" : {
                    "ts" : Timestamp(1530697530, 1),
                    "t" : NumberLong(1)
                },
                "optimeDate" : ISODate("2018-07-04T09:45:30Z"),
                "optimeDurableDate" : ISODate("2018-07-04T09:45:30Z"),
                "lastHeartbeat" : ISODate("2018-07-04T09:45:36.221Z"),
                "lastHeartbeatRecv" : ISODate("2018-07-04T09:45:36.219Z"),
                "pingMs" : NumberLong(0),
                "lastHeartbeatMessage" : "",
                "syncingTo" : "192.168.73.129:37017",
                "syncSourceHost" : "192.168.73.129:37017",
                "syncSourceId" : 0,
                "infoMessage" : "",
                "configVersion" : 1
            },
            {
                "_id" : 2,
                "name" : "192.168.73.129:57017",
                "health" : 1,
                "state" : 2,
                "stateStr" : "SECONDARY",
                "uptime" : 2153,
                "optime" : {
                    "ts" : Timestamp(1530697530, 1),
                    "t" : NumberLong(1)
                },
                "optimeDate" : ISODate("2018-07-04T09:45:30Z"),
                "syncingTo" : "192.168.73.129:37017",
                "syncSourceHost" : "192.168.73.129:37017",
                "syncSourceId" : 0,
                "infoMessage" : "",
                "configVersion" : 1,
                "self" : true,
                "lastHeartbeatMessage" : ""
            }
        ],
        "ok" : 1,
        "operationTime" : Timestamp(1530697530, 1),
        "$clusterTime" : {
            "clusterTime" : Timestamp(1530697530, 1),
            "signature" : {
                "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                "keyId" : NumberLong(0)
            }
        }
    }
    rs:SECONDARY> 

    2.6 客户端工具连接

  • 相关阅读:
    5.4.3 果园里的树
    5.3.2 字母重排
    5.3.1 6174问题
    Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】
    POJ1054 枚举【STL__binary_search()_的应用】
    432B
    0x3f3f3f3f...编程中无穷大常量的设置技巧
    2014年百度之星程序设计大赛 资格赛第一题 (longlong)
    Tarjan
    Dijkstra、Dij + heap、Floyd、SPFA、 SPFA + SLF Template
  • 原文地址:https://www.cnblogs.com/cowboys/p/9264494.html
Copyright © 2011-2022 走看看