ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mongodb 的一些日常操作

mongodb 的一些日常操作

原创 Linux操作系统 作者:babyyellow 时间:2014-11-26 16:08:16 0 删除 编辑

好久没有维护mongodb 了,


这两天一个集群,有毛病了,处理下,顺便把以前整理的一点东西拿出来翻了翻,这里贴出来了。 



查出集群信息:
任意节点上 : rs.conf() 查看集群成员
itpricelib:SECONDARY> rs.conf()
db.isMaster() 查看主从情况
itpricelib:SECONDARY> db.isMaster()


A.踢出集群单独维护
1./etc/init.d/mongodb.sh stop 先关掉该节点mongodb
2.vi /etc/init.d/mongodb.sh  修改 MONGODB_ROLE="single"
3./etc/init.d/mongodb.sh start 
此时这个节点 就离群了


B.查看集群从库应用主库日志信息
itpricelib:PRIMARY> db.printSlaveReplicationInfo()
source:   192.168.237.81:5506
         syncedTo: Fri Feb 28 2014 13:58:59 GMT+0800 (CST)
                 = 1secs ago (0hrs)
source:   192.168.237.92:5506
         syncedTo: Fri Feb 28 2014 13:58:59 GMT+0800 (CST)
                 = 1secs ago (0hrs)
source:   192.168.237.232:5506
         syncedTo: Fri Feb 28 2014 13:58:59 GMT+0800 (CST)
                 = 1secs ago (0hrs)
source:   192.168.237.243:5506
         syncedTo: Fri Feb 28 2014 13:58:58 GMT+0800 (CST)
                 = 2secs ago (0hrs)


当某个从库落后与主库几个小时。这时该节点可能追不上主库了,处理方法:
1.先将该节点离群,离群方法见 A
2.重启后登陆该节点,删除oplog
mongo > use local ;  
mongo > db.oplog.rs.drop()
3.关闭该节点,修改 /etc/init.d/mongodb.sh MONGODB_ROLE="sets"
4./etc/init.d/mongodb.sh start


C.节点异常关闭处理
1.节点异常关闭时,这2个文件不会自动清除,也无法启动,需手工清除再启动
  /data/PRG/mongodb/data/mongod.lock
  /data/PRG/mongodb/log/mogodb.pid


D.克隆节点
  1.先将要克隆的节点,关库,关机
  2.克隆完成后,启动节点,删除oplog
  3.在主节点上执行 rs.add("克隆节点的新IP:端口")


E.当某个节点应用日志落后与主库较长时间时,可使用封闭端口尝试该节点能否追上主库
  封闭端口时应注意,保持各个节点间5506端口必须联通
  换句话就是封闭这个节点上除了集群IP以外的其他IP来连该节点


F:切换主节点:
  方法一: 1.在主节点上执行rs.stepDown() ,此时主节点变为slave ,集群开始选举新的主节点
          2.查看主节点在哪个节点上db.isMaster(),这个可能不能马上看到主节点被哪个节点接管,多刷几次
          3.让某个节点接管主节点,在除该节点的其他接管的主节点上执行rs.stepDown(),直到指定节点接管主节点
  方法二: 直接将当前主节点关闭再启动,该节点就会变成SLAVE ,其他节点重新选举主节点
   


G:常用管理命令
   db.help() 查看数据库级别的相关命令帮助
   db.serverStatus()  查看服务器状态
   db.currentOp() 查看当前数据库的所有操作
   db.isMaster() 检查集群中的主库状态
   db.killOp(opid) 杀死当前数据库中的某个操作
   db.printSlaveReplicationInfo() 查看从库应用主库信息
   db.printReplicationInfo() 查看oplog 信息
   rs.help() 查看集群级别的相关命令帮助
   rs.status() 查看集群所有节点的情况
   rs.conf() 查看local.system.replset 当前的配置信息
   rs.add(hostportstr) 添加新节点
   rs.stepDown() 让当前节点由主节点让出,切换主节点到别的节点上时可这样操作
 
H: 常用查询命令: 
   show dbs 查看当前数据库(文档)
   use databasename
   show tables  查看当前库下面的所有表
   查看表记录
   db.tablename.findOne() 查看一笔记录
   db.tablename.find({key:value,key:value})


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/133735/viewspace-1347451/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
oracle MySQL Postgresql 专职数据库dba。 系统架构师。 mysql 官方认知dba 。 15年专职dba 经验。 潜意识沟通实证者 心理咨询师。 禅修布道者, 禅修指导员。 禅定实证者。

注册时间:2010-12-02

  • 博文量
    367
  • 访问量
    1908896