




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. Mongodb副本集1.1. 主从复制和集群的区别: 集群没有特定的主数据库, 主从复制需要手动指定主数据库。: 故障冗余:集群具备自动故障恢复功能,如果哪个主数据库宕机了,集群中就会推选出一个从属数据库作为主数据库。主从复制需手动配置。1.2. 实验环境1.2台centos6.5虚拟机。Centos03_IP:5:27017Centos04_IP:6:270172.本端PC mongod作为仲裁服务器。windows_IP:45:270171.3. 实施步骤:1.3.1. 建立集群 指定数据服务器。首先取个集群名字,这里就取我们的公司名linktrust,另外指定centos03为副本集中的一台数据服务器。命令:cd /usr/local/mongod/bin./mongod -dbpath=/usr/local/mongodb/db -port 27017 -replSet linktrust/6:27017 注释:命令意思是启动centos03里面的mongodb程序,指定本端端口为27017。指定centos04:6是linktrust集群下的另一个数据库服务器,端口为27017(端口可自定义)。1.3.2. 指定副本集另一台数据库服务器命令:cd /usr/local/mongod/bin./mongod -dbpath=/usr/local/mongodb/db -port 27017 -replSet linktrust/5:27017 命令注释:启动centos04里面的mongodb程序,指定本端端口为27017。互指centos03:5是linktrust集群下的另一个数据库服务器,端口为27017(端口可自定义)。1.3.3. 副本集初始化互指数据库服务器之后会发现日志提示,信息提示我们要初始化 “副本集“。执行初始化命令时可以连接配置集群的任意一台服务器,但必须进入admin集合。初始化命令:cd /usr/local/mongod/bin./mongo 5/admindb.runCommand(“replSetInitiate”:“_id”:”linktrust”,”members”:“_id”:1,”host”:5”,“_id”:2,”host”:”6”)1.3.4. 查看集群中的服务器状态副本集开启成功后,通过日志信息我们可以看到5端口为27017的已经成为主数据库服务器。6:27017成为备用服务器另外我们也可以使用rs.status()来查看下集群中的服务器状态,图中我们可以清楚的看到谁是主,还是从。1.3.5. 配置仲裁服务器跟sql server一样,仲裁只参与投票选举。这里我们将本机PC(45)的E盘的mongodb作为仲裁服务器,然后指向linktrust集群中的centos03:5服务器,端口这里就指定27017。并且在admin集合中使用rs.addArb()添加仲裁服务器。命令:E:mongodbbinmongod -dbpath=E:mongodbdb -port 27017 -replSet linktrust/5:27017在admin集合中使用rs.addArb()添加仲裁服务器。添加好了之后,我们再次使用rs.status()来查看下集群中的服务器状态:1.3.6. 测试集群故障自动恢复功能测试故障恢复那么我们需要将目前主用数据库服务器停掉,观察从数据库服务器是否会自动切换顶替主服务器。通过之前状态查看我们知道5:27017是主服务器,.66为从服务器,那么我们可以通过按Ctrl+C来KO掉该服务器mongodb进程,观察变化。通过日志信息,我们可以发现从数据服务器(6)会立即选举成为主服务器,我们也可以通过进入admin集,使用rs.status()直观服务器状态信息,图中原从服务器状态已经转为primary,说明集群具备自动故障恢复功能。2. 基于副本集的mongodb分片教程在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存,就吃不消了,针对这样的场景我们该如何应对。2.1. 分片mongodb采用将集合进行拆分,然后将拆分的数据均摊到几个片上的一种解决方案。人脸: 代表客户端,客户端肯定说,你数据库分片不分片跟我没关系,我叫你干啥就干啥,没什么好商量的。mongos: 首先我们要了解”片键“的概念,也就是说拆分集合的依据是什么?按照什么键值进行拆分集合.好了,mongos就是一个路由服务器,它会根据管理员设置的“片键”将数据分摊到自己管理的mongod集群,数据和片的对应关系以及相应的配置信息保存在config服务器上。mongod: 一个普通的数据库实例,如果不分片的话,我们会直接连上mongod。2.2. 实战首先我们准备4个mongodb程序,我这里是装在4台centos6.5虚拟机上,直接解压就可以使用。当然你也可以做多个文件夹的形式。副本集fanglu:Centos01 3:2222Centos02 4:3333副本集linktrust:Centos03 5:27017Centos04 6:27017由于资源不足,config服务器、仲裁服务器和mongos服务器都放在00上不同的文件夹。2.2.1. 开启config服务器先前也说了,mongos要把mongod之间的配置放到config服务器里面,理所当然首先开启它,我这里就建立6666端口。cd f:mongodbbinmongod -dbpath=f:mongodbbin -port 66662.2.2. 开启mongos服务器这里要注意的是我们开启的是mongos,不是mongod,同时指定下config服务器,这里我就开启mongodb,端口8888。cd f:program filesmongodbbinF:Program Filesmongodbbinmongos -port 8888 -configdb=00:6666 2.2.3. 启动mongod服务器对分片来说,也就是要添加片了,也就是2个副本集的mongodb程序需要开启。之前副本集的设置中已经开启过了,所以这里就不需要再次开启了直接下一步。参考mongodb副本集.doc2.2.4. 服务配置 先前图中也可以看到,我们client直接跟mongos打交道,也就说明我们要连接mongos服务器,然后将fanglu,linktrust副本集的的mongod交给mongos,添加分片也就是addshard()。cd F:Program Filesmongodbbin F:Program Filesmongodbbinmongo 00:8888/admindb.runCommand(“addshard”:fanglu/3:2222,4:3333”,allowLocal:true) 添加副本集fangludb.runCommand(addshard:linktrust/5:27017,6:27017,allowLocal:true) 添加副本集linktrust这里要注意的是,在addshard中,添加副本集是为了能达到更高的稳定性。片已经集群了,但是mongos不知道该如何切分数据,也就是我们先前所说的片键,在mongodb中设置片键要做两步:开启数据库分片功能,命令很简单 enablesharding(),这里我就开启test数据库。:指定集合中分片的片键,这里我就指定为字段。Cd F:Program Filesmongodbbinmongo 00:8888/admindb.runCommand(“enablesharding”:”test”)db.runCommand(“shardcollection”:”test.person”,”key”:“name”:1)2.2.5. 查看效果好了,至此我们的分片操作全部结束,接下来我们通过mongos向mongodb插入10w记录,然后通过printShardingStatus命令查看mongodb的数据分片情况。use testfor(var i=0;i100000;i+)db.person.insert(“name”:”jack”+i,“a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度二手房买卖中介服务合同协议书
- 2025版网络直播节目导演编排与新媒体营销合同
- 二零二五年度自住型二手房买卖预付款合同规范
- 二零二五年度数据中心建筑工程施工合同
- 二零二五年度农村地区落水管铺设与维护合同
- 2025年度电子设备维修保险经纪代理合同
- 2025版夫妻财产协议范本全面保障双方权益
- 2025年车辆安全检测中心运营管理合同范本
- 二零二五年度新能源工程项目招投标及合同
- 二零二五年度智慧城市建设合同管理规划与实施合同
- 订单管理制度
- 2025房地产开发项目立项申请范文
- 诊疗规范培训课件
- 腰围外固定支架护理
- JJF(冀) 246-2025 加德纳比色计校准规范
- 内蒙古机电职业技术学院单独招生(机电类)考试题(附答案)
- 夏令营教师聘用合同
- GA/T 2151-2024道路交通车路协同信息服务通用技术要求
- 2025年浙江省宁波市专用通信局招聘事业编制人员历年高频重点提升(共500题)附带答案详解
- 劳动教育融入幼儿园一日生活行动研究
- 皮革厂管理知识培训课件
评论
0/150
提交评论