欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    MongoDB集群配置(包括修改集群IP)要点.pdf

    • 资源ID:5197586       资源大小:282.02KB        全文页数:16页
    • 资源格式: PDF        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MongoDB集群配置(包括修改集群IP)要点.pdf

    MongoDB 集群配置 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部2 阅读对象 本文档的阅读对象包括: 总监 架构部经理 组件负责人 项目组成员 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部3 目录 阅读对象 2 目录 3 1引言 . 1 1.1编写目的 . 1 1.2术语定义 . 1 1.3引用标准 . 1 2安装说明 2 3REPLICA SET . 3 3.1下载解压 . 3 3.2建立数据文件夹. 4 3.3建立配置文件 4 3.4启动MONGODB. 6 3.5配置主,备,仲裁节点 7 3.6认证 . 9 3.7添加仲裁节点 10 3.8添加从节点 10 3.9修改 IP 地址 11 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部1 1 引言 1.1 编写目的 本文记录了集群环境下安装MongoDB 的步骤,为软件开发团队和运维团队提供一个完整的安 装手册,指导系统的开发和部署。 1.2 术语定义 术语术语解释 1.3 引用标准 标准名称制订者备注 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部2 2 安装说明 Mongodb 有三种集群方式的搭建:Replica Set ,Sharding 和 Master-Slaver 。这里只说明 最简单的集群搭建方式(生产环境),如果有更多节点可以此类推或者查看官方文档,在实际环 境中也要根据具体业务需求确定集群的搭建方式。OS 是 Ubuntu_x64系统,客户端用的是Java 客户端。 Mongodb版本是 mongodb-linux-x86_64-2.4.6.tgz。 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部3 3Replica Set 中文翻译叫做副本集,其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了, 备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致,它的架构图如下: Mongodb(M) 表示主节点, Mongodb(S) 表示备节点, Mongodb(A) 表示仲裁节点。主备节点存 储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。默认设置下,主 节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这 样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设置叫做Read Preference Modes,同时 Java 客户端提供了简单的配置方式,可以不必直接对数据库进行操作。仲 裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后 提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节 点来提升备节点级别。我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点 挂了备节点还是备节点,所以咱们还是需要它的。 下面是具体的搭建步骤: 3.1 下载解压 在 MOGODB 主站点下载mongodb-linux-x86_64-2.4.6.tgz文件,在102,103,104上分别执行以下操 作 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部4 cd /usr/local tar zxvf mongodb-linux-x86_64-2.4.6.tgz mv mongodb-linux-x86_64-2.4.6 mongodb 3.2 建立数据文件夹 102 下执行: mkdir -p /mongodb/data mkdir -p /mongodb/log 103 下执行: mkdir -p /mongodb/data mkdir -p /mongodb/log 104 下执行: mkdir -p /mongodb/data mkdir -p /mongodb/log # 3.3 建立配置文件 编辑环境变量,在 102,103,104上分别执行: cd /root vi .bash_profile PATH=$PATH:$HOME/bin:/usr/local/mongodb/bin source .bash_profile MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部5 由于配置比较多,所以我们将配置写到文件里,每个节点一个配置文件。 102 配置文件: # mongod.conf dbpath=/mongodb/data logpath=/mongodb/log/master.log pidfilepath=/mongodb/master.pid directoryperdb=true logappend=true replSet=testrs port=27017 oplogSize=10000 fork=true noprealloc=true 103 配置文件 : # mongod.conf dbpath=/mongodb/data logpath=/mongodb/log/slaver.log pidfilepath=/mongodb/slaver.pid directoryperdb=true logappend=true replSet=testrs port=27017 oplogSize=10000 fork=true noprealloc=true 104 配置文件 : MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部6 # mongod.conf dbpath=/mongodb/data logpath=/mongodb/log/arbiter.log pidfilepath=/mongodb/arbiter.pid directoryperdb=true logappend=true replSet=testrs port=27017 oplogSize=10000 fork=true noprealloc=true 参数解释: dbpath :数据存放目录 logpath :日志存放路径 pidfilepath :进程文件,方便停止mongodb directoryperdb:为每一个数据库按照数据库名建立文件夹存放 logappend :以追加的方式记录日志 replSet :replica set 的名字 bind_ip :mongodb 所绑定的ip 地址 port :mongodb进程所使用的端口号,默认为27017 oplogSize :mongodb操作日志文件的最大大小。单位为Mb ,默认为硬盘剩余空间的5% fork:以后台方式运行进程 noprealloc :不预先分配存储 3.4 启动 mongodb 102,103,104上分别执行: mongod -f mongod .conf MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部7 注意配置文件的路径一定要保证正确,可以是相对路径也可以是绝对路径。 3.5 配置主,备,仲裁节点 可以通过客户端连接mongodb ,也可以直接在三个节点中选择一个连接mongodb 。 在 102 上执行: ./mongo #ip 和 port 是某个节点的地址 use admin cfg= _id:“testrs“, members: _id: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',arbiterOnly:true ; rs.initiate(cfg) #使配置生效 cfg 是可以任意的名字,当然最好不要是mongodb的关键字, conf ,config 都可以。最外层的 _id 表示 replica set 的名字, members里包含的是所有节点的地址以及优先级。优先级最高的即成为 主节点,即这里的10.12.23.102 :27017 。特别注意的是,对于仲裁节点,需要有个特别的配置 arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。 配置的生效时间根据不同的机器配置会有长有短,配置不错的话基本上十几秒内就能生效,有的 配置需要一两分钟。如果生效了,执行rs.status() 命令会看到如下信息: testrs:PRIMARY rs.status(); “set“ : “testrs“, “date“ : ISODate(“2013-09-22T03:12:02Z“), “myState“ : 1, “members“ : “_id“ : 0, “name“ : “10.12.23.102:27017“, “health“ : 1, “state“ : 1, “stateStr“ : “PRIMARY“, “uptime“ : 781680, MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部8 “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 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部9 , “ok“ : 1 如果配置正在生效,其中会包含如下信息: “stateStr“ : “RECOVERING“ 同时可以查看对应节点的日志,发现正在等待别的节点生效或者正在分配数据文件。至此, 基本 上已经完成了集群的所有搭建工作。 3.6 认证 目前暂时采用KEYFILE的认证方式。 a. 在所有节点admin 数据库中建立一个可读写的数据库账号,用户名和密码保持一致 mongo use admin; db.addUser(“admin“,“admin“); db.system.users.find(); b. 在所有节点建立KEYFILE文件: cd /data/mongodb/ openssl rand -base64 753 keyFile chmod 600 keyFile c. 启动 MONGODB MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部10 /usr/local/mongodb/bin/mongod -keyFile /data/mongodb/keyFile -f /data/mongodb/mongod.conf 3.7 添加仲裁节点 在服务器上建立目录 mkdir /data/arb 启动 MONGO 服务 mongod -port 30000 -dbpath /data/arb -replSet testrs 执行添加命令 rs.addArb(“hostname:30000“) 3.8 添加从节点 方式一 在服务器上建立目录 mkdir /data/sed 启动 MONGO 服务 mongod -port 30000 -dbpath /data/sed -replSet testrs 在主节点执行添加命令 rs.add(“hostname:27021“); 方式二 1. 锁定已有的一个从库,并将缓存中的数据写入到磁盘 use admin db.runCommand(“fsync“:1, “lock“:1) 2.拷贝被锁定从库的数据文件到新建从库的数据目录 3.解锁从库 MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部11 db.$cmd.sys.unlock.findOne() db.currentOp() 4.启动新从库 ./mongod -replSet rs1 -keyFile /data/set/key/r4 -fork -port 28014 -dbpath /data/set/r4 -logpath=/data/set/log/r4.log -logappend -fastsync 5.rs.add(“localhost:27017“) 3.9 修改 IP 地址 当服务器修改IP 后,复制集中的IP 信息需要修改,否则会报如下错误: rs.status();rs.status(); “startupStatus“ : 1, “ok“ : 0, “errmsg“ : “loading local.system.replset config (LOADINGCONFIG)“ 具体修改操作如下: mongo 127.0.0.1:27020 use admin cfg= _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“ : MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部12 “_id“ : 0, “name“ : “172.23.166.23:27020“, “health“ : 1, “state“ : 1, “stateStr“ : “PRIMARY“, “uptime“ : 903, “optime“ : Timestamp(1432628408, 5), “optimeDate“ : ISODate(“2015-05-26T08:20:08Z“), “self“ : true , “_id“ : 1, “name“ : “172.23.166.23:27018“, “health“ : 1, “state“ : 2, “stateStr“ : “SECONDARY“, “uptime“ : 492, “optime“ : Timestamp(1432628408, 5), “optimeDate“ : ISODate(“2015-05-26T08:20:08Z“), “lastHeartbeat“ : ISODate(“2015-05-27T06:46:15Z“), “lastHeartbeatRecv“ : ISODate(“2015-05-27T06:46:14Z“), “pingMs“ : 0, “syncingTo“ : “172.23.166.23:27020“ , “_id“ : 2, “name“ : “172.23.166.23:27019“, “health“ : 1, MongDB 集群环境搭建说明文档 www.ceopen. com 数字管理部13 “state“ : 7, “stateStr“ : “ARBITER“, “uptime“ : 492, “lastHeartbeat“ : ISODate(“2015-05-27T06:46:15Z“), “lastHeartbeatRecv“ : ISODate(“2015-05-27T06:46:14Z“), “pingMs“ : 0 , “ok“ : 1

    注意事项

    本文(MongoDB集群配置(包括修改集群IP)要点.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开