ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

windows10 MongoDb集群搭建

2021-09-07 01:03:51  阅读:249  来源: 互联网

标签:MongoDb 31 09 windows10 NumberLong ISODate 2021 集群 06T16


1.前言

mongodb集群至少需要三个节点,master(主),slaver(副),arbiter(仲裁者),由于我没有3台服务器,所以将三个节点都部署在一台服务器上。

2.单节点安装

1.首先下载安装包(mongodb-windows-x86_64-5.0.2-signed.msi)安装,mongodb的默认安装是在C盘的,安装过程中会让用户选择data和log得到存放路径,可以选择其他盘符,如下图所示

 

 然后这里有个bin文件夹,里面有很多操作MongoDb的工具,如果不想安装在C盘,卸载命令如下

 

 命令为.\mongod.exe --remove --serviceName (mongodb),这里需要管理员模式打开cmd或者PowerShell,注意这种方式默认读取的配置是当前bin文件夹下的mongod.cfg文件的内容。

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\Program Files\MongoDB\Server\5.0\data
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\Server\5.0\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

配置文件是安装包默认为我们生成好的,其中dbpath和systemlogpath是用户选择的存放路径。

3.集群配置

分别复制三个文件夹,名字随便取

 

 每个文件夹下有如右侧所示的文件夹和配置文件,其中data文件夹用于存放mongodb产生的文档,log存放日志,mongod1.cfg为配置文件

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\Program Files\MongoDB\Server\Mongo-Master\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\Server\Mongo-Master\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  bindIpAll: true
  
# 集群设置
replication:
  replSetName: rs0


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

然后执行安装命令

 

  .\mongod.exe --config "D:\Program Files\MongoDB\Server\Mongo-Master\mongod1.cfg" --install --serviceName Mongodb-Master --serviceDisplayName Mongodb-Master

执行成功即可看到服务已经注册成功,按项目的步骤在执行安装slave和arbiter,

 

 

 

 3.1 节点配置

 .\mongo.exe --host 127.0.0.1:27017进入其中一个节点

use admin切换到admin用户

 

设置config,config={_id:"rs0", members:[{_id:0, host:"127.0.0.1:27017",priority:2},{_id:1, host:"127.0.0.1:27018",priority:1},{_id:2,host:"127.0.0.1:27019",arbiterOnly:true}]},

然后执行rs.initiate(config)

执行成功查看集群状态rs.status()

rs0:SECONDARY> rs.status()
{
        "set" : "rs0",
        "date" : ISODate("2021-09-06T16:31:44.896Z"),
        "myState" : 2,
        "term" : NumberLong(0),
        "syncSourceHost" : "",
        "syncSourceId" : -1,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "majorityVoteCount" : 2,
        "writeMajorityCount" : 2,
        "votingMembersCount" : 3,
        "writableVotingMembersCount" : 2,
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(0, 0),
                        "t" : NumberLong(-1)
                },
                "lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"),
                "appliedOpTime" : {
                        "ts" : Timestamp(1630945897, 1),
                        "t" : NumberLong(-1)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1630945897, 1),
                        "t" : NumberLong(-1)
                },
                "lastAppliedWallTime" : ISODate("2021-09-06T16:31:37.157Z"),
                "lastDurableWallTime" : ISODate("2021-09-06T16:31:37.157Z")
        },
        "lastStableRecoveryTimestamp" : Timestamp(0, 0),
        "members" : [
                {
                        "_id" : 0,
                        "name" : "127.0.0.1:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "PRIMARY",
                        "uptime" : 88,
                        "optime" : {
                                "ts" : Timestamp(1630945897, 1),
                                "t" : NumberLong(-1)
                        },
                        "optimeDate" : ISODate("2021-09-06T16:31:37Z"),
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "",
                        "configVersion" : 1,
                        "configTerm" : 0,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                },
                {
                        "_id" : 1,
                        "name" : "127.0.0.1:27018",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 7,
                        "optime" : {
                                "ts" : Timestamp(1630945897, 1),
                                "t" : NumberLong(-1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1630945897, 1),
                                "t" : NumberLong(-1)
                        },
                        "optimeDate" : ISODate("2021-09-06T16:31:37Z"),
                        "optimeDurableDate" : ISODate("2021-09-06T16:31:37Z"),
                        "lastHeartbeat" : ISODate("2021-09-06T16:31:44.678Z"),
                        "lastHeartbeatRecv" : ISODate("2021-09-06T16:31:44.776Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "",
                        "configVersion" : 1,
                        "configTerm" : 0
                },
                {
                        "_id" : 2,
                        "name" : "127.0.0.1:27019",
                        "health" : 1,
                        "state" : 7,
                        "stateStr" : "ARBITER",
                        "uptime" : 7,
                        "lastHeartbeat" : ISODate("2021-09-06T16:31:44.678Z"),
                        "lastHeartbeatRecv" : ISODate("2021-09-06T16:31:43.702Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "",
                        "configVersion" : 1,
                        "configTerm" : 0
                }
        ],
        "ok" : 1,
        "$clusterTime" : {
                "clusterTime" : Timestamp(1630945897, 1),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        },
        "operationTime" : Timestamp(1630945897, 1)
}
rs0:SECONDARY>

 可以看到有三种状态的节点 Primary Secondary Arbiter

 

 后面我们就可以愉快的利用MongoDb玩耍了!

 

标签:MongoDb,31,09,windows10,NumberLong,ISODate,2021,集群,06T16
来源: https://www.cnblogs.com/helloworld-wang/p/15236443.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有