准备三台机器,系统:windows 8

192.168.1.1
192.168.1.2
192.168.1.3

每台机器上安装mongodb 服务,步骤:

  1. 下载以下文件并依次执行安装
  2. clearcompressionflag.exe
    Windows8.-KB2919442-x64.msu
    Windows8.-KB2932046-x64.msu
    Windows8.-KB2934018-x64.msu
    Windows8.-KB2937592-x64.msu
    Windows8.-KB2938439-x64.msu
    Windows8.-KB2959977-x64.msu
    Windows8.1-KB2919355-x64.msu
    Windows8.-KB2999226-x64.msu
  3. 下载 vc_redist.x64.exe 并安装
  4. 下载文件 mongodb-win32-x86_64-2008plus-ssl-4.0.6-singed.mis 并安装。如果报错 无法启动服务,那么到mongodb 安装目录,这里是  C:\Program Files\MongoDB\Server\4.0\bin 内修改配置文件mongod.cfg,注释掉  mp 配置项(最后一行)。
  5. 修改配置文件 mongod.cfg,增加如下配置, XXX 是副本集名称。
  6. replication:
    replSetName: XXX
  7. 重启mongodb 服务,使配置生效
  8. 命令行打开 mongo
  9. mongo --host 192.168.1.1
  10. 执行以下语句, arbiterOnly:true 表示节点仅用作仲裁节点,如果此节点需要存储数据,则不设置 arbiterOnly,默认为 false。
  11. > config={ _id:'XXX', members:[ {_id:,host:'192.168.1.1:27017'}, {_id:,host:'192.168.1.2:27017'}, {_id:,host:'192.168.1.3:27017',arbiterOnly:true}]}
    ...
    > rs.initiate(config)
  12. 查看 设置状态
  13. > rs.status()

集群搭建参考 https://www.cnblogs.com/ityouknow/p/7344005.html

集群认证:https://blog.csdn.net/uncle_david/article/details/78713551

下面是我的配置文件

# conf/config.conf
## 配置文件内容 mongodb 4.0
pidfilepath = D:/mongodb-cluster/config/log/configsrv.pid
dbpath = D:/mongodb-cluster/config/data
logpath = D:/mongodb-cluster/config/log/congigsrv.log
logappend = true bind_ip = 0.0.0.0
port =
# fork = true #declare this is a config db of a cluster;
configsvr = true #副本集名称
replSet=configs #设置最大连接数
maxConns= keyFile = D:/mongodb-cluster/conf/key.file
auth = true

分片配置文件和路由配置文件就不再列出来了,通过上面两个链接的博客内容,很容易得到。

另外在列出搭建集群时常用的命令以及 js 代码,方便复制粘贴,

mongod -f D:\mongodb-cluster\conf\config.conf
mongod -f D:\mongodb-cluster\conf\shard1.conf
mongod -f D:\mongodb-cluster\conf\shard2.conf
mongod -f D:\mongodb-cluster\conf\shard3.conf
mongos -f D:\mongodb-cluster\conf\mongos.conf config = {_id:"configs", members: [{_id:, host:"192.168.2.171:21000"}, {_id:, host: "192.168.2.172:21000"}, {_id:,host:"192.168.2.173:21000"}]}
config = {_id : "shard1", members : [{_id : , host : "192.168.2.171:27001" },{_id : , host : "192.168.2.172:27001" },{_id : , host : "192.168.2.173:27001" , arbiterOnly: true }]}
config = {_id : "shard2", members : [{_id : , host : "192.168.2.171:27002", arbiterOnly: true },{_id : , host : "192.168.2.172:27002" },{_id : , host : "192.168.2.173:27002" }]}
config = {_id : "shard3", members : [{_id : , host : "192.168.2.171:27003" },{_id : , host : "192.168.2.172:27003" , arbiterOnly: true },{_id : , host : "192.168.2.173:27003" }]} sh.addShard("shard1/192.168.2.171:27001,192.168.2.172:27001,192.168.2.173:27001")
sh.addShard("shard2/192.168.2.171:27002,192.168.2.172:27002,192.168.2.173:27002")
sh.addShard("shard3/192.168.2.171:27003,192.168.2.172:27003,192.168.2.173:27003") // auth:
db.createUser(
{
user:"xxx",
pwd:"xxx",
roles:[{role:"root",db:"admin"}]
}
)

添加副本集  rs.initiate(config); 时要注意,分片内某节点如果设置为  arbiterOnly:true ,那么不能在这个节点上连接 mongodb 实例,否则会报错,以上面配置为例,分片 2 这个副本集创建时,是在 192.168.2.172 上执行的,如下

# 在 192.168.2.172 节点上执行以下命令
mongo --port
config = {_id : "shard2", members : [{_id : , host : "192.168.2.171:27002", arbiterOnly: true },{_id : , host : "192.168.2.172:27002" },{_id : , host : "192.168.2.173:27002" }]}
rs.initiate(config);

其他命令我都是在  192.168.2.171 上的 mongo shell 里执行。

也有地方建议不使用仲裁节点,同时配置副本集中节点数量为奇数,

config = {_id : "shard1", members : [{_id : , host : "192.168.2.171:27001" },{_id : , host : "192.168.2.172:27001" },{_id : , host : "192.168.2.173:27001"  }]}

mongodb windows 集群搭建的更多相关文章

  1. Mongodb Windows 集群

    我在一台Windows机器下搭建了一个 Replica Sets + Sharding 测试集群环境,以此作为我后续对于Mongodb更进一步学习的实验平台. 只有一台windows机器,配置方案:1 ...

  2. MongoDB分布式集群搭建

    最近在做一个关于车险的项目,由于数据量较大,实验室的Boss决定采用HBase+ES/MongoDB这两种方案,并做性能对比,本人负责MongoDB方案.为了满足海量数据的存储要求,需要搭建一个分布式 ...

  3. mongodb分布式集群搭建手记

    一.架构简介 目标单机搭建mongodb分布式集群(副本集 + 分片集群),演示mongodb分布式集群的安装部署.简单操作. 说明在同一个vm启动由两个分片组成的分布式集群,每个分片都是一个PSS( ...

  4. MongoDB分片集群搭建及扩容

    ### 实验:分片集群搭建及扩容#### 实验目标及流程 * 目标:学习如何搭建一个两分片的分片集群 * 环境:3台Linux虚拟机器,4Core 8GB * 步骤: * 配置域名解析 * 准备分片目 ...

  5. MongoDB 分片集群搭建

    一.概述 分片是一种在多台机器上分配数据的方法.MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作.有两种解决系统增长的方法:垂直扩展和水平扩展. 垂直扩展涉及增加单个服务器的容量,例如使用 ...

  6. MongoDB ReplicaSet 集群搭建

    说明 本文创建的集群的名字为test,在同一台机器上创建了三个mongo实例,端口不同即可. 安装mongodb的教程,之前总结过,请参考:CentOS安装MongoDB笔记 创建实例 # 本机默认原 ...

  7. MongoDB分布式集群搭建(分片加副本集)

    # 环境准备 服务器 # 环境搭建 文件配置和目录添加 新建目录的操作要在三台机器中进行,为配置服务器新建数据目录和日志目录 mkdir -p $MONGODB_HOME/config/data mk ...

  8. mongodb sharding集群搭建

    创建虚拟机,如果是使用copy的方式安装系统,记得修改机器名,否则所有的机器名称都一样,会造成安装失败 同时关闭掉防火墙,将所有的机器的时间调成一致,master和slave的heartbeat间隔不 ...

  9. mongodb副本集群搭建

    一.环境介绍 1.机器信息 10.40.6.68 10.40.6.108 10.40.6.110 软件环境为centos 6.x 2.mongodb 下载链接地址 https://www.mongod ...

随机推荐

  1. stand up meeting 1/19/2016

    part 组员                工作              工作耗时/h 明日计划 工作耗时/h    UI 冯晓云  准备最后的发布和整个开发的整理总结    6 继续releas ...

  2. 浅析 CSS 中的边距重叠

    浅析 CSS 中的边距重叠 边距重叠是什么 在说边距重叠之前,先以正常的思维来考虑如果你现在是浏览器引擎遇到这种情况应该怎么办? 现在有两个元素 div1 和 div2 紧挨着,中间没有它元素,它们的 ...

  3. SpringCloud-Gateway 网关路由、断言、过滤

    Gateway 简介 是什么? Spring Cloud 全家桶中有个很重要的组件:网关.在 1.x 版本中使用的是 Zuul 网关,但是到了 2.x,由于Zuul的升级不断跳票,Spring Clo ...

  4. 用long类型让我出了次生产事故,写代码还是要小心点

    昨天发现线上试跑期的一个程序挂了,平时都跑的好好的,查了下日志是因为昨天运营跑了一家美妆top级淘品牌店,会员量近千万,一下子就把128G的内存给爆了,当时并行跑了二个任务,没辙先速写一段代码限流,后 ...

  5. 轻量级mysql安装教程-避免采坑

    1:安装包获取 安装了很多次,来来回回踩,踩出了一片光明大道,简单好用. 百度网盘获取:链接:https://pan.baidu.com/s/13frFBTODaMeADZOHj5KdJQ 提取码:a ...

  6. 关于log4j、jul、jcl、slf4j等等日志组件的理解

    日志组件: 我们经常在开发项目的时候,需要打印记录项目过程中的一些日志.那我们经常大概会用到 log4j.jul.jcl.slf4j.simple.nop.logback 等等,那我们就详细介绍下这些 ...

  7. phpcms 后台分页

    php 代码public function init() { $where='';//条件 $page = $_GET['page'] ? intval($_GET['page']) : '1'; $ ...

  8. Java 后台设置session成功,获取为空

    cookie secure当服务器使用https时,容易出现漏洞SSL cookie without secure flag set,敏感cookie这时就需要打开cookie secure,服务器端 ...

  9. opencv-8-图像核与蒙板操作

    opencv-8-图像核与蒙板操作 opencvc++qt 开始之前 在准备开始的时候, 我大概列了一个opencv 章节列表, 按照章节进行写, 写到某些部分的时候再具体调整章节内容, 完成了之后, ...

  10. SpringBoot中使用Fastjson/Jackson对JSON序列化格式化输出的若干问题

    来源 :https://my.oschina.net/Adven/blog/3036567 使用springboot-web编写rest接口,接口需要返回json数据,目前国内比较常用的fastjso ...