在windows环境下配置mongoDB集群
在windows环境下配置mongoDB集群
mongodb官网
官网分片文档
首先感谢这次参考的文章:
mongodb搭建高可用分片集群示例-天才卧龙
MongoDB高可用集群搭建示例-lizh
配置中用到端口划分汇总:
(本次配置一共用了2个mongos、3个confiigserver、3个shard)
mongosR1(端口:27019) | mongosR2(端口:27029) | |
---|---|---|
configR1(端口:27018) | configR2(端口:27028) | configR3(端口:27038) |
Shard1R1(端口:27011) | Shard1R2(端口:27021) | Shard1R3(端口:27031) |
这是这次配置所需要用到的端口
配置的过程:
1. 新建文件加存放mongodb集群所需配置文件和数据
2. 在每个config文件夹中新建所需文件
3. 在 config.conf里编写配置内容
net:port: 27018 #config1的端口27018 config2为27028 config3为27038bindIp: 0.0.0.0 #允许连接地址,这里统一设置为允许任何ip连接
systemLog:destination: filelogAppend: truepath: D:\developTool\mongodb\mongoCluster\configR1\log\config.log #config的日志存储地址,config2和config3修改路径即可
storage:dbPath: D:\developTool\mongodb\mongoCluster\configR1\data #config的数据存储地址,config2和config3修改路径即可journal:enabled: true #数据故障恢复和持久化,肯定是开启
#processManagement:
# fork: true #linux下打开此设置,Windows环境下后台启动需要注册服务,
# pidFilePath: /mongo/config/run/mongod.pid
#副本集名称设置
replication:replSetName: configs
#分片集群角色,配置服务器的固定值
sharding:clusterRole: configsvr
#这里是集群安全认证配置,首次配置启动集群不打开此配置,先留着,后面再说
#security: #keyFile: #authorization: enabled
4. configR2、R3的配置一样,只是端口和路径进行修改
5. 新建shard文件夹以及目录下的文件
(shardR1下新建shard1,因为一个shard没有做分片处理,如果后续做分片处理可以新建shard2、3等等)
(shard1下新建data、log文件以及shard.conf配置文件)
6. 在shard.conf里写配置内容(shardR2和shardR3下的shard1同理配置,修改端口和路径即可)
net:port: 27011 #shard1的端口27011 ,shard2端口27021 ,shard2端口27031bindIp: 0.0.0.0
systemLog:destination: filelogAppend: truepath: D:\developTool\mongodb\mongoCluster\shardR1\shard1\log\shard.log #shard1R1的路径,shard1R2和shard1R3做对应修改即可
storage:dbPath: D:\developTool\mongodb\mongoCluster\shardR1\shard1\data #shard1R1的路径,shard1R2和shard1R3做对应修改即可journal:enabled: true
#processManagement:
# fork: true
# pidFilePath: /mongo/shard1/run/mongod.pid
replication:replSetName: shard1
sharding:clusterRole: shardsvr #集群中角色归属
7. 再mongosR1下新建文件以及配置文件
8. 在mongos.conf里编写配置
systemLog:destination: filelogAppend: truepath: D:\developTool\mongodb\mongoCluster\mongosR1\log\mongos.log #mongos没有数据存储地址,只有日志输出地址,mongosR2下做对应的地址调整
# network interfaces
net:port: 27019 # mongosR1的端口,mongosR2为27029bindIp: 0.0.0.0
setParameter:enableLocalhostAuthBypass: false
#注意!此处配置的连接地址为配置服务器config Serve的副本集名称和所在服务器地址以及端口
sharding:configDB: configs/127.0.0.1:27018,127.0.0.1:27028,127.0.0.1:27038
9. 启动服务,分片集群启动时一定要按照config server,shard ,mongos的顺序启动
在安装mongodb的bin目录下启动dos命令:
./mongod -f D:\developTool\mongodb\mongoCluster\configR1\config.conf
(1) 启动完成之后新打开一个dos窗口进入一台configserver
./mongo -host 127.0.0.1 --port 27018
(2) 进入之后在dos界面配置配置器的服务集:
config = { _id : "configs",
members : [
{_id : 0, host : "127.0.0.1:27018" },
{_id : 1, host : "127.0.0.1:27028" },
{_id : 2, host : "127.0.0.1:27038" }
] }
(3) 初始化副本集:
rs.initiate(config)
(4) 查看副本集状态:
rs.status()
(执行完成之后对应data文件下会产生文件)
10.
(1) 在开启三个dos窗口分别启动shardR1的shard1、shardR2的shard1和shardR3的shard1
./mongod -f D:\developTool\mongodb\mongoCluster\shardR1\shard1\shard.conf
./mongod -f D:\developTool\mongodb\mongoCluster\shardR2\shard1\shard.conf
./mongod -f D:\developTool\mongodb\mongoCluster\shardR3\shard1\shard.conf
(2) 打开新的dos窗口连接shardR1
./mongo --port 27011
(3) 配置shard1的副本集:
config = { _id : "shard1",
members : [
{_id : 0, host : "127.0.0.1:27011"},
{_id : 1, host : "127.0.0.1:27021"},
{_id : 2, host : "127.0.0.1:27031"}
] }
(4) 初始化副本集:
rs.initiate(config);
11.
(1) 分别打开三个新的dos窗口启动前端路由器mongosR1,mongosR2
./mongos -f D:\developTool\mongodb\mongoCluster\mongosR1\mongos.conf
./mongos -f D:\developTool\mongodb\mongoCluster\mongosR2\mongos.conf
(2) 新开一个dos窗口:连接任意一个mongos
./mongo --port 27019
(3) 使用admin库,启用集群分片,创建用户
use admin;sh.addShard("shard1/127.0.0.1:27011,127.0.0.1:27021,127.0.0.1:27031");db.createUser( { user: "admin", pwd: "Zaq12wsx", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
(4) 关闭当前mongos 连接,重连如下:
./mongo --port 27019 -u "admin" -p "Zaq12wsx" --authenticationDatabase "admin"#设置一下chunk的大小:use config;#设置块大小为1M是方便实验,不然需要插入海量数据db.setting.save({"_id":"chunksize","value":1})#cda配置use cda;#启用数据库分片sh.enableSharding("cda")#创建集合db.createCollection("cdaDocLibMongo");#以" uuid "作哈希索引分片键db.cdaDocLibMongo.createIndex({"uuid":"hashed"})#对cdaDocLibMongo集合启用分片sh.shardCollection( " cda.cdaDocLibMongo", { " uuid " : "hashed" } ) # 查看分片情况sh.status() # 查看分片列表,所有分片db.runCommand({listShards:1}) use config;# 查询当前块大小db.settings.find({"_id":"chunksize"})# 修改块大小db.settings.save( { _id:"chunksize", value: 64 } );
到此总共开启了8个服务(configserver3 、shard3 、mongos*2)
启动顺序一定要按照configserver、shard、mongos顺序启动
在windows环境下配置mongoDB集群相关推荐
- Windows环境下redis的集群部署
一.软件环境&工具 1. windows7 2. Redis-x64-3.2.100.msi 安装包 redis-win-3.2.100.zip代码包 下载地址:https://githu ...
- windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error...
windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...
- aix oracle集群日志,在AIX环境下实施Oracle 集群RAC的结构 文平
<oracle大型数据库系统在AIX/unix上的实战详解>集中讨论34:在AIX环境下实施Oracle 集群RAC的结构 文平 看来能用的起IBM p服务器的用户,都能用的起RAC. ...
- 0110-如何给Kerberos环境下的CDH集群添加Gateway节点
2019独角兽企业重金招聘Python工程师标准>>> Fayson的github: https://github.com/fayson/cdhproject 1.文档编写目的 Ga ...
- 多云环境下部署 k3s 集群
多云环境下部署 k3s 集群 最近在玩k3s,刚好手上有三台云服务器(白嫖的一年亚马逊,双11买的腾讯云,朋友的阿里云),尝试跨云厂商搭建k3s集群玩玩 一.基础配置 服务器信息 系统 公网IP 内网 ...
- 阿里云环境下搭建HadoopHA集群
阿里云环境下搭建HadoopHA集群 1. HadoopHA介绍 1.1 hadoop高可用集群的简介 hadoop是一个海量数据存储和计算的平台,能够存储PB级以上的数据,并且利用MapRedu ...
- Windows环境下配置环境变量
安装好MySQL后,在Windows环境下配置环境变量 1)新建MYSQL_HOME系统变量 配置MySQL的安装路径:C:\Program Files\MySQL\MySQL Server 8.0 ...
- 如何在 Windows 环境下配置 PHP 开发运行环境
我们都知道 PHP 运行需要的环境通常被称为 AMP. 其中 A 是 Apache 应用服务器,M 是 Mysql,P 就是 PHP 了. 实际上,很多人可能会使用一个测试 Mysql,但是针对一些小 ...
- Windows环境下配置Ceres(带suitesparse-metis)
1 配置环境与源代码包 环境 Windows>=8.1 Visual Studio>=2013 专业版x64 Cmake GUI>=3.13 Ceres-solver 1.14.0 ...
最新文章
- python报错:ValueError: The truth value of an array with more than one element is ambiguous. Use a.any(
- node windows更新_node.js 01 简介 - 产生,发展历程,优势,适用场景,实际应用
- python爬取股票大单历史记录_利用bs4爬取股票的历史交易数据
- C++,Java编程中 标识符 常见命名约定
- 简单了解linux,linux简单了解
- 借力信息化工具,助跑精细化管理
- 估值飙至 280 亿美元,Databricks G 轮融资 10 亿美元,谁说开源不挣钱?
- RDKit 安装教程
- android第三方好用,有哪些好用的安卓ROM值得推荐?安卓端最好的第三方ROM介绍...
- Latex系列[2]--公式中的字体
- 设随机过程{X(t)=Acos(ωt+Θ),t∈(一∞,+∞)},其中A,ω,Θ为相互独立的实随机变量,其中A的均值为2,方差为4,且Θ~U(-π,π),ω~U(-5,5),试问X(t)是否为平稳过程
- 使用BeautifulSoup,解释器报错‘lxml‘
- 网站性能优化之DNS Prefetch
- nltk.stem.WordNetLemmatizer()时报错BadZipFile(“File is not a zip file“)的解决方法
- 小程序中实现待办功能
- linux服务器无法识别u盘,linux系统下不能识别U盘
- 2010-2020管理类联考MBA/MEM英语大作文范文模版
- 南加州计算机博士学几年,2020年南加州大学读博要多久
- Opencv-Python学习(一)———图像的基本操作
- win10彻底删除Ubuntu EFI分区及启动项
热门文章
- Day8:财报分析3:为什么自由现金流如此重要?
- python编程100例体育课排队-浅析材料化学在生活中的应用
- 虚拟化运维监测管理系统云安成为混合工作时代的 VDI
- vue - - - - vite创建vue3项目(不使用TS)
- 基于ThinkPHP5 使用QueryList爬取 并存入mysql数据库
- 角色编辑功能,权限中转英,遍历出code 在一条一条把数据塞回去
- TensorFlow2使用AutoGraph时出现关于gast的一个warning
- android10 隐藏SystemUI锁屏下的多用户图标
- echart-面积图
- 解决Redis报错Redis is configured to save RDB snapshots, but it is currently not able to persist on disk