版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MongoDB集群配置阅读对象本文档的阅读对象包括:总监架构部经理组件负责人项目组成员TOC\o"1-5"\h\z阅读对象 2目录 3弓I言 1\o"CurrentDocument"编写目的 1\o"CurrentDocument"术语定义 1\o"CurrentDocument"引用标准 1\o"CurrentDocument"安装说明 2REPLICASET. 3下载解压 3建立数据文件夹 4建立配置文件 4启动MONGODB 6配置主,备,仲裁节点 7认证 9添加仲裁节点 10添加从节点 10修改IP地址 111.1编写目的本文记录了集群环境下安装MongoDB的步骤,为软件开发团队和运维团队提供一个完整的安装手册,指导系统的开发和部署。1・2术语定义术语术语解释1.3引用标准标准名称制订者备注2安装说明Mongodb有三种集群方式的搭建:ReplicaSet,Sharding和Master-Slaver。这里只说明最简单的集群搭建方式(生产环境),如果有更多节点可以此类推或者查看官方文档,在实际环境中也要根据具体业务需求确定集群的搭建方式。OS是Ubuntu_x64系统,客户端用的是Java客户端。Mongodb版本是mongodb-linux-x86_64-2.4.6.tgz。ReplicaSet中文翻译叫做副本集,其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了,备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致,它的架构图如下:MongodbClientMongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设置叫做ReadPrefereneeModes,同时Java客户端提供了简单的配置方式,可以不必直接对数据库进行操作。仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点挂了备节点还是备节点,所以咱们还是需要它的。下面是具体的搭建步骤:3.1 下载解压在MOGODB主站点下载mongodb-linux-x86_64-2.4.6.tgz文件,在102,103,104上分别执行以下操作cd/usr/localtar-xvfmongodb-linux-x86_64-2.4.6.tgzmvmongodb-linux-x86_64-2.4.6mongodb3.2 建立数据文件夹102下执行:mkdir-p/mongodb/datamkdir-p/mongodb/log103下执行:mkdir-p/mongodb/datamkdir-p/mongodb/log104下执行:mkdir-p/mongodb/datamkdir-p/mongodb/log#3.3建立配置文件编辑环境变量,在102,103,104上分别执行:cd/rootvi.bash_profilePATH=$PATH:$HOME/bin:/usr/local/mongodb/binsource.bash_profile由于配置比较多,所以我们将配置写到文件里,每个节点一个配置文件。102配置文件:#mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/master.logpidfilepath=/mongodb/master.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true103配置文件:#mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/slaver.logpidfilepath=/mongodb/slaver.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true104配置文件:#mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/arbiter.logpidfilepath=/mongodb/arbiter.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true参数解释:dbpath:数据存放目录logpath:日志存放路径pidfilepath:进程文件,方便停止mongodbdirectoryperdb:为每一个数据库按照数据库名建立文件夹存放logappend:以追加的方式记录日志replSet:replicaset的名字bind」p:mongodb所绑定的ip地址port:mongodb进程所使用的端口号,默认为27017oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%fork:以后台方式运行进程noprealloc:不预先分配存储3.4启动mongodb102,103,104上分别执行:mongod-fmongod.conf注意配置文件的路径一定要保证正确,可以是相对路径也可以是绝对路径。3.5配置主,备,仲裁节点可以通过客户端连接mongodb,也可以直接在三个节点中选择一个连接mongodb。在102上执行:./mongo #ip和port是某个节点的地址>useadmin>cfg={_id:"testrs",members:]{」d:0,host:'10.12.23.102:27017',priority:2},{_id:1,host:'10.12.23.103:27017',priority:1},{_id:2,host:'10.12.23.104:27017',arbiter0nly:true}]};>rs.initiate(cfg) #使配置生效cfg是可以任意的名字,当然最好不要是mongodb的关键字,conf,config都可以。最外层的_id表示replicaset的名字,members里包含的是所有节点的地址以及优先级。优先级最高的即成为主节点,即这里的10.12.23.102:27017。特别注意的是,对于仲裁节点,需要有个特别的配置——arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。配置的生效时间根据不同的机器配置会有长有短,配置不错的话基本上十几秒内就能生效,有的配置需要一两分钟。如果生效了,执行rs.status()命令会看到如下信息:testrs:PRIMARY>rs.status();{"set":"testrs","date":IS0Date("2013-09-22T03:12:02Z"),"myState":1,"members":[{"_id":0,"name":"10.12.23.102:27017","health":1,"state":1,"stateStr":"PRIMARY","uptime":781680,
rWEffilS.MonaDB集群环境搭建说明文档"optime":Timestamp(1379818896,1),"optimeDate":ISODate("2013-09-22T03:01:36Z"),},"self":true{"_id":1,"name":"10.12.23.103:27017","health":1,"state":2,"stateStr":"SECONDARY","uptime":781271,"optime":Timestamp(1379818896,1),"optimeDate":ISODate("2013-09-22T03:01:36Z"),"lastHeartbeat":ISODate("2013-09-22T03:12:02Z"),"lastHeartbeatRecv":ISODate("2013-09-22T03:12:02Z"),"pingMs":0,},"syncingTo":"10.12.23.102:27017"{"_id":2,"name":"10.12.23.104:27017","health":1,"state":7,"stateStr":"ARBITER","uptime":781271,"lastHeartbeat":ISODate("2013-09-22T03:12:02Z"),"lastHeartbeatRecv":ISODate("2013-09-22T03:12:02Z"),}"pingMs":0],"ok":1如果配置正在生效,其中会包含如下信息:"stateStr":"RECOVERING"同时可以查看对应节点的日志,发现正在等待别的节点生效或者正在分配数据文件。至此,基本上已经完成了集群的所有搭建工作。3.6认证目前暂时采用KEYFILE的认证方式。在所有节点admin数据库中建立一个可读写的数据库账号,用户名和密码保持一致mongouseadmin;db.addUser("admin","admin");db.system.users.find();在所有节点建立KEYFILE文件:cd/data/mongodb/opensslrand-base64753>keyFilechmod600keyFile启动MONGODB/usr/local/mongodb/bin/mongod--keyFile/data/mongodb/keyFile-f/data/mongodb/mongod.conf3.7 添加仲裁节点在服务器上建立目录mkdir/data/arb启动MONGO服务mongod—port30000--dbpath/data/arb—replSettestrs执行添加命令rs.addArb("hostname:30000")3.8添加从节点方式一在服务器上建立目录mkdir/data/sed启动MONGO服务mongod—port30000--dbpath/data/sed—replSettestrs在主节点执行添加命令rs.add("hostname:27021");方式二1.锁定已有的一个从库,并将缓存中的数据写入到磁盘useadmindb.runCommand({"fsync":1,"lock":1})2•拷贝被锁定从库的数据文件到新建从库的数据目录3.解锁从库db.$cmd.sys.uniock.findOne()db.currentOp()启动新从库./mongod--replSetrs1--keyFile/data/set/key/r4--fork--port28014--dbpath/data/set/r4--logpath=/data/set/log/r4.log--logappend--fastsyncrs.add("localhost:27017")3.9修改IP地址当服务器修改IP后,复制集中的IP信息需要修改,否则会报如下错误:>rs.status();rs.status();{"startupstatus":1,"ok":0,"errmsg":"loadinglocal.system.replsetconfig(LOADINGCONFIG)"具体修改操作如下:mongo127.0.0.1:27020useadmincfg={_id:"testrs",members:]{_id:0,host:'172.23.166.23:27020',priority:2},{_id:1,host:'172.23.166.23:27018',priority:1},{_id:2,host:'172.23.166.23:27019',arbiterOnly:true}]};rs.reconfig(cfg,{force:true})稍等一会再次查看:testrs:PRIMARY>rs.status()rs.status(){"set":"testrs","date":ISODate("2015-05-27T06:46:16Z"),"myState":1,"members":["_id":0,"name":"172.23.166.23:27020","health":1,"state":1,"stateStr":"PRIMARY","uptime":903,"optime":Timestamp(1432
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年城轨站务人员培训题库(含答案)
- 2026年病死畜禽无害化处理监管题库(含答案)
- 休闲农业服务员操作安全竞赛考核试卷含答案
- 汽车铸造生产线操作工安全素养竞赛考核试卷含答案
- 兽用原料药制造工操作安全知识考核试卷含答案
- 锅炉设备试压工岗前安全行为考核试卷含答案
- 硅片研磨工安全生产基础知识竞赛考核试卷含答案
- 湖盐穿爆工6S执行考核试卷含答案
- 铁合金转炉冶炼工安全素养水平考核试卷含答案
- 纺丝工岗中安全规程考核试卷含答案
- 2026年意识形态测试题及答案
- 新版部编人教版六年级上册语文全册新优教学设计(2026年秋改版教材)
- 2025-2026年网络安全法律法规与标准知识点巩固习题
- 变电土建设计培训
- 新版2026秋统编版(新版)小学道德与法治四年级上册(全册)知识点清单梳理
- 2026年部编版新教材道德与法治四年级上册全册教案设计(共4个单元含教学计划)
- 2025 成人失禁性皮炎护理指南(中文版)+预防与处理规范
- 水利水电工程岩土渗透性原位试验规程 第2部分:注水试验
- 2026年高考英语全国I卷真题试卷+解析及答案
- Honeywell EBI 操作手册(BMS)资料
- 零缺陷管理培训课件
评论
0/150
提交评论