OS:CentOS7
MongoDB 版本:3.6
安装
创建Mongo的yum源文件
vi /etc/yum.repos.d/mongodb-org-3.6.repo
替换为阿里源
[mongodb-org-3.6] name=MongoDB Repository baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
安装mongo
sudo yum install -y mongodb-org
创建节点数据目录
$ mkdir -p /data/rs-{a,b}-{1,2,3}
启动节点mongo服务
mongod --shardsvr --replSet shard-a --dbpath /data/rs-a-1 --port 30000 --logpath /data/rs-a-1.log --fork mongod --shardsvr --replSet shard-a --dbpath /data/rs-a-2 --port 30001 --logpath /data/rs-a-2.log --fork mongod --shardsvr --replSet shard-a --dbpath /data/rs-a-3 --port 30002 --logpath /data/rs-a-3.log --fork mongod --shardsvr --replSet shard-b --dbpath /data/rs-b-1 --port 30100 --logpath /data/rs-b-1.log --fork mongod --shardsvr --replSet shard-b --dbpath /data/rs-b-2 --port 30101 --logpath /data/rs-b-2.log --fork mongod --shardsvr --replSet shard-b --dbpath /data/rs-b-3 --port 30102 --logpath /data/rs-b-3.log --fork
初始化副本集
mongo localhost:30000 > rs.initiate() 将节点加入副本集中 shard-a:PRIMARY> rs.add("localhost:30001") shard-a:PRIMARY> rs.addArb("localhost:30002") mongo localhost:30100 > rs.initiate() shard-b:OTHER> rs.add("localhost:30101") shard-b:PRIMARY> rs.addArb("localhost:30102")
创建配置服务节点
创建数据目录 mkdir /data/config-{1,2,3} 启动配置节点 mongod --configsvr --replSet cfgReplSet --dbpath /data/config-1 --port 27019 --logpath /data/config-1.log --fork mongod --configsvr --replSet cfgReplSet --dbpath /data/config-2 --port 27020 --logpath /data/config-2.log --fork mongod --configsvr --replSet cfgReplSet --dbpath /data/config-3 --port 27021 --logpath /data/config-3.log --fork 配置服务器初始化副本集 mongo localhost:27019 >rs.initiate({_id:"cfgReplSet",configsvr:true,members:[{_id:0,host:"localhost:27019"},{_id:1,host:"localhost:27020"},{_id:2,host:"localhost:27021"}]})
启动Mongo路由
mongos --configdb cfgReplSet/localhost:27019,localhost:27020,localhost:27021 --logpath /data/mongos.log --fork --port 40000
配置集群
mongo localhost:40000 分片设置 sh.addShard("shard-a/localhost:30000,localhost:30001") sh.addShard("shard-b/localhost:30100,localhost:30101") 验证分片结果 mongos> db.getSiblingDB("config").shards.find() { "_id" : "shard-a", "host" : "shard-a/localhost:30000,localhost:30001", "state" : 1 } { "_id" : "shard-b", "host" : "shard-b/localhost:30100,localhost:30101", "state" : 1 } 使用admin数据库验证 mongos> use admin switched to db admin mongos> db.runCommand({listshards:1}) { "shards" : [ { "_id" : "shard-a", "host" : "shard-a/localhost:30000,localhost:30001", "state" : 1 }, { "_id" : "shard-b", "host" : "shard-b/localhost:30100,localhost:30101", "state" : 1 } ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1524381570, 2), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1524381570, 2) }
数据库分片
sh.enableSharding("mydb") mongos> db.getSiblingDB("config").databases.find() { "_id" : "mydb", "primary" : "shard-b", "partitioned" : true } 分片mydb中的集合myCol,使用id,username作为分片键 mongos> sh.shardCollection("mydb.myCol",{username:1,_id:1}) { "collectionsharded" : "mydb.myCol", "collectionUUID" : UUID("d2ecc073-ed7e-4940-bee5-9e1a45694f23"), "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1524382128, 14), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1524382128, 14) }
集群分片验证
基于《MongoDB Cookbook, Second Edition.pdf》中脚本修改,批量插入数据,将脚本修改为基于MongoDB 3.6的版本
ruby load.rb 100
mongos> sh.status() { "_id" : "cloud-docs", "primary" : "shard-a", "partitioned" : true } cloud-docs.spreadsheets shard key: { "username" : 1, "_id" : 1 } unique: false balancing: true chunks: shard-a 3 shard-b 2 { "username" : { "$minKey" : 1 }, "_id" : { "$minKey" : 1 } } -->> { "username" : "Abbott", "_id" : ObjectId("5adc9b211a5680820f0d28b8") } on : shard-b Timestamp(2, 0) { "username" : "Abbott", "_id" : ObjectId("5adc9b211a5680820f0d28b8") } -->> { "username" : "Islas", "_id" : ObjectId("5adc9b381a5680820f0d3161") } on : shard-b Timestamp(3, 0) { "username" : "Islas", "_id" : ObjectId("5adc9b381a5680820f0d3161") } -->> { "username" : "Schlabach", "_id" : ObjectId("5adc9b511a5680820f0d3b7c") } on : shard-a Timestamp(3, 1) { "username" : "Schlabach", "_id" : ObjectId("5adc9b511a5680820f0d3b7c") } -->> { "username" : "Velasques", "_id" : ObjectId("5adc9b381a5680820f0d31a1") } on : shard-a Timestamp(2, 4) { "username" : "Velasques", "_id" : ObjectId("5adc9b381a5680820f0d31a1") } -->> { "username" : { "$maxKey" : 1 }, "_id" : { "$maxKey" : 1 } } on : shard-a Timestamp(1, 3)
分片shard-a是cloud-docs数据库的主分片,shard-a有三个块,shard-b有2块,同时在结果中显示数据位于哪个分片中,数据增多,分片中的块也将继续增大
ruby load.rb 800 分片中的块数 chunks: shard-a 9 shard-b 6
数据的分片结果
{ "username" : { "$minKey" : 1 }, "_id" : { "$minKey" : 1 } } -->> { "username" : "Abbott", "_id" : ObjectId("5adc9b211a5680820f0d28b8") } on : shard-a Timestamp(5, 0) { "username" : "Abbott", "_id" : ObjectId("5adc9b211a5680820f0d28b8") } -->> { "username" : "Charles", "_id" : ObjectId("5adc9b911a5680820f0d5198") } on : shard-b Timestamp(5, 1) { "username" : "Charles", "_id" : ObjectId("5adc9b911a5680820f0d5198") } -->> { "username" : "Grimmett", "_id" : ObjectId("5adc9ddc1a568089ecb9ac91") } on : shard-b Timestamp(4, 3) { "username" : "Grimmett", "_id" : ObjectId("5adc9ddc1a568089ecb9ac91") } -->> { "username" : "Islas", "_id" : ObjectId("5adc9b381a5680820f0d3161") } on : shard-b Timestamp(4, 4) { "username" : "Islas", "_id" : ObjectId("5adc9b381a5680820f0d3161") } -->> { "username" : "Lafond", "_id" : ObjectId("5adc9f3d1a568089ecba0a26") } on : shard-b Timestamp(4, 5) { "username" : "Lafond", "_id" : ObjectId("5adc9f3d1a568089ecba0a26") } -->> { "username" : "Mccluney", "_id" : ObjectId("5adc9b5b1a5680820f0d3f35") } on : shard-b Timestamp(4, 6) { "username" : "Mccluney", "_id" : ObjectId("5adc9b5b1a5680820f0d3f35") } -->> { "username" : "Mendoza", "_id" : ObjectId("5adc9dcf1a568089ecb9a70b") } on : shard-b Timestamp(4, 7) { "username" : "Mendoza", "_id" : ObjectId("5adc9dcf1a568089ecb9a70b") } -->> { "username" : "Overman", "_id" : ObjectId("5adca05d1a568089ecba7df0") } on : shard-a Timestamp(5, 5) { "username" : "Overman", "_id" : ObjectId("5adca05d1a568089ecba7df0") } -->> { "username" : "Rardin", "_id" : ObjectId("5adc9f031a568089ecb9f30e") } on : shard-a Timestamp(5, 6) { "username" : "Rardin", "_id" : ObjectId("5adc9f031a568089ecb9f30e") } -->> { "username" : "Royal", "_id" : ObjectId("5adc9b321a5680820f0d2f4d") } on : shard-a Timestamp(5, 7) { "username" : "Royal", "_id" : ObjectId("5adc9b321a5680820f0d2f4d") } -->> { "username" : "Schlabach", "_id" : ObjectId("5adc9b511a5680820f0d3b7c") } on : shard-a Timestamp(3, 4) { "username" : "Schlabach", "_id" : ObjectId("5adc9b511a5680820f0d3b7c") } -->> { "username" : "Steffensen", "_id" : ObjectId("5adc9e7b1a568089ecb9e8cb") } on : shard-a Timestamp(5, 2) { "username" : "Steffensen", "_id" : ObjectId("5adc9e7b1a568089ecb9e8cb") } -->> { "username" : "Vasconcellos", "_id" : ObjectId("5adca0171a568089ecba6793") } on : shard-a Timestamp(5, 3) { "username" : "Vasconcellos", "_id" : ObjectId("5adca0171a568089ecba6793") } -->> { "username" : "Velasques", "_id" : ObjectId("5adc9b381a5680820f0d31a1") } on : shard-a Timestamp(5, 4) { "username" : "Velasques", "_id" : ObjectId("5adc9b381a5680820f0d31a1") } -->> { "username" : { "$maxKey" : 1 }, "_id" : { "$maxKey" : 1 } } on : shard-a Timestamp(1, 3)
相关推荐
总结,本文档提供了在Windows环境下搭建MongoDB伪分布式集群的步骤,包括分片集和路由节点的配置,以及在`mongos`中添加和管理分片。这样的集群架构能够有效地提高数据的读写性能和系统的容错性,适合大数据应用场景...
- **Standalone/伪集群模式**: 适用于开发测试环境。 - **集群模式**: 适用于生产环境。 - **常用操作** - **基本Shell命令**: 提供了一系列命令来进行数据操作。 - **状态/版本/帮助命令**: 获取系统状态信息。...
在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对学生毕业设计信息管理的提升,也为了对学生毕业设计信息进行更好的维护,毕业设计系统的出现就变得水到渠成不可缺少。通过对毕业设计系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。 毕业设计系统通过MySQL数据库与Spring Boot框架进行开发,毕业设计系统能够实现教师管理,公告类型管理,班级管理,课题信息管理,任务类型管理,选题申请管理,学院管理,课题任务管理,最终成绩管理,公告信息管理,学生管理等功能。 通过毕业设计系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源
hegaojian_WanAndroid_1742851819.zip
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
毕业设计
移动开发_iOS_OpenUrl_快捷方式创建技术_App桌_1742856949.zip
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
app开发
蓝桥杯python相关资源
招聘_实时聊天_APP_React_Redux_前后端分离_1742854279.zip
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
vsco1.98.1版本,适用于macos
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
Kotlin_基础篇教程_函数与类实践_开发参考_1742851889.zip
电子发票统计并生成表格
网上很多都是IIS7的教程ARR,对IIS10来说已经无效了。这个是最新的插件IIS重写IIS rewirte的插件ARR(Application Request Routing)
linux系统相关知识、shell编程相关知识、虚拟机安装及配置
还在为毕业设计选题纠结?这款基于 thinkphp6 框架 开发的学生成绩管理系统源码,前端采用 X - adminV2.2,功能完备、结构清晰,完美适配毕业设计需求,助你在答辩中脱颖而出! 功能全面,轻松应对毕设考核 全流程管理模块:覆盖系统信息设置、单位信息管理、类别管理,以及学期、班级、学科等基础配置,更有管理员、权限、角色管理,完整呈现系统设计与实现的深度。 智能化成绩处理:支持考试信息自定义,灵活设置学科分数线;一键生成考试号、试卷标签、成绩采集表。多样化成绩录入(在线、表格、扫码枪)、实时查看成绩列表与图表,统计结果以柱形图、折线图、雷达图等形式展示,搭配学生历次成绩对比(表格 + 折线图),充分展现数据处理与分析能力。 精细化权限设计:区分教师、学生双身份登录,按职务、任务分工细化数据权限,体现系统安全性与合理性,为毕设增添专业亮点。 三大核心优势,锁定高分 极简操作,演示无忧:界面简洁直观,操作流程优化至 “三步到位”,答辩演示流畅自然,轻松征服导师。 热门技术栈,学习轻松:基于流行的 thinkphp6 框架,前端 X - adminV2.2,前后端分离。