MongoDB高可用集群搭建

栏目: 数据库 · 发布时间: 7年前

内容简介:准备三台服务器:10.175.120.131(主节点)10.175.121.134(副本节点)

MongoDB副本集搭建

准备三台服务器:

10.175.120.131(主节点)

10.175.121.134(副本节点)

10.175.121.136(副本节点)

1.分别在每台服务器上安装MongoDB,并通过配置文件启动服务,配置文件如下:

dbpath=/data/db               #指定数据库路径

logpath=/data/mongodb.log     #指定日志文件路径

logappend=true                #在日志文件持续添加

port=27017                    #端口号

bind_ip=0.0.0.0               #允许远程访问

fork=true                     #后台运行

replSet=admin                 #设置副本集名称

2.进入 MongoDB 后台管理 Shell

./momgo

3.使用admin数据库

> use admin

4. 定义副本集配置变量,这里的 _id:” admin ” 和配置文件中的“ replSet=admin ” 要保持一致

> config = { _id:"admin",
       members:[
           {_id:0,host:"10.175.120.131:27017"},
        {_id:1,host:"10.175.121.134:27017"},
        {_id:2,host:"10.175.121.136:27017"}
      ]
  }

5.初始化副本集配置

> rs.initiate(config)

6.查看集群节点的状态

> rs.status()

输出:

{
        "set" : "admin",
        "date" : ISODate("2018-09-21T08:52:24.064Z"),
        "myState" : 1,
        "term" : NumberLong(3),
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1537519943, 1),
                        "t" : NumberLong(3)
                },
                "readConcernMajorityOpTime" : {
                        "ts" : Timestamp(1537519943, 1),
                        "t" : NumberLong(3)
                },
                "appliedOpTime" : {
                        "ts" : Timestamp(1537519943, 1),
                        "t" : NumberLong(3)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1537519943, 1),
                        "t" : NumberLong(3)
                }
        },
        "members" : [
                {
                        "_id" : 1,
                        "name" : "10.175.120.131:27017",
                        "health" : 1, "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 5874,
                        "optime" : {
                                "ts" : Timestamp(1537519943, 1),
                                "t" : NumberLong(3)
                        },
                        "optimeDate" : ISODate("2018-09-21T08:52:23Z"),
                        "electionTime" : Timestamp(1537514082, 1),
                        "electionDate" : ISODate("2018-09-21T07:14:42Z"),
                        "configVersion" : 1,
                        "self" : true
                },
                {
                        "_id" : 2,
                        "name" : "10.175.121.134:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 5861,
                        "optime" : {
                                "ts" : Timestamp(1537519933, 1),
                                "t" : NumberLong(3)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1537519933, 1),
                                "t" : NumberLong(3)
                        },
                        "optimeDate" : ISODate("2018-09-21T08:52:13Z"),
                        "optimeDurableDate" : ISODate("2018-09-21T08:52:13Z"),
                        "lastHeartbeat" : ISODate("2018-09-21T08:52:23.012Z"),
                        "lastHeartbeatRecv" : ISODate("2018-09-21T08:52:23.584Z"),
                        "pingMs" : NumberLong(0),
                        "syncingTo" : "10.175.120.131:27017",
                        "configVersion" : 1
                },
                {
                        "_id" : 3,
                        "name" : "10.175.121.136:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 5866,
                        "optime" : {
                                "ts" : Timestamp(1537519933, 1),
                                "t" : NumberLong(3)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1537519933, 1),
                                "t" : NumberLong(3)
                        },
                        "optimeDate" : ISODate("2018-09-21T08:52:13Z"),
                        "optimeDurableDate" : ISODate("2018-09-21T08:52:13Z"),
                        "lastHeartbeat" : ISODate("2018-09-21T08:52:23.013Z"),
                        "lastHeartbeatRecv" : ISODate("2018-09-21T08:52:23.558Z"),
                        "pingMs" : NumberLong(0),
                        "syncingTo" : "10.175.120.131:27017",
                        "configVersion" : 1
                }
        ],
        "ok" : 1,
        "operationTime" : Timestamp(1537519943, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1537519943, 1),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        }
}

输出部分参数说明:

"health" : 1,              #代表机器正常 
"stateStr" : "PRIMARY",    #代表是主节点,可读写,其中有以下几下状态

1. STARTUP:刚加入到复制集中,配置还未加载 
2. STARTUP2:配置已加载完,初始化状态 
3. RECOVERING:正在恢复,不适用读 
4. ARBITER: 仲裁者 
5. DOWN:节点不可到达 
6. UNKNOWN:未获取其他节点状态而不知是什么状态,一般发生在只有两个成员的架构,脑裂 
7. REMOVED:移除复制集 
8. ROLLBACK:数据回滚,在回滚结束时,转移到RECOVERING或SECONDARY状态 
9. FATAL:出错。查看日志grep “replSet FATAL”找出错原因,重新做同步 
10. PRIMARY:主节点 
11. SECONDARY:备份节点

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Design Patterns

Head First Design Patterns

Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器