准备三台机器,系统: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. flutter和react native如何选择

    [关于性能]跨平台开发第一个考虑的就是性能问题RN的效率由于是将View编译成了原生View,所以效率上要比基于Cordova的HTML5高很多,但是它也有效率问题,RN的渲染机制是基于前端框架的考虑 ...

  2. 跑Linux内存占用率的shell脚本

    #!/bin/bash ################################################################ # Mem Used Script # eg. ...

  3. windows搭建Selenium

    安装 pip install -U selenium 安装浏览器驱动 用不同的浏览器需要安装不同的驱动,驱动放置的路径添加到path中. Firefox geodriver Chrome 下载驱动Ch ...

  4. redis: List列表类型(四)

    list设置值(头部):lpush list one list设置值(尾部):**rpush ** list one list获取值:lrange list 0 -1 list获取指定范围的值:lra ...

  5. 2019-2020-1 20199308《Linux内核原理与分析》第八周作业

    <Linux内核分析> 第七章 可执行程序工作原理 7.1 知识点 1.目标文件:编译器生成的文件,"目标"指平台,它决定了编译器使用的机器指令集. 2.目标文件格式: ...

  6. centos7与8的区别

    1.关于内核版本:RHEL8采用4.18.0-xRHEL7采用3.10-0-x 2 网络时间同步 RHEL8 只使用Chronyd,不支持NTP部署. RHEL7Chronyd与NTP两者都支持 3. ...

  7. Querying for Event Information

    https://docs.microsoft.com/zh-cn/windows/desktop/EventLog/querying-for-event-source-messages #includ ...

  8. Spring Boot 之Spring data JPA简介

    文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...

  9. Scala教程之:静态类型

    文章目录 泛类型 型变 协变 逆变 不变 类型上界 类型下界 内部类 抽象类型 复合类型 自类型 隐式参数 隐式转换 多态方法 类型推断 Scala是静态类型的,它拥有一个强大的类型系统,静态地强制以 ...

  10. 《图解 HTTP》 摘要一

    学习过程对书本的内容的摘要以及总结,逐步完善,带有个人理解成分. Web 及网络基础 使用 HTTP 协议访问 Web 客户端:通过获取请求获取服务资源的 Web 浏览器等 HTTP 全称:Htype ...