一 Mtools介绍 mtools是一组用来解析和过滤MongoDB日志文件的脚本。mtools包括以下几个工具: mlogfilter 可以根据时间切割日志文件,过滤慢查询等 mloginfo 返回日志文件信息,比如开始和结束时间等 mplotqueries 对日志文件
MongoDB的存储引擎是一个很重要的组件,负责MongoDB如何在内存和磁盘中存储数据。MongoDB支持多种存储引擎,因为不同的应用场景使用不同的存储引擎可以使MongoDB的性能表现更佳。从MongoDB3.2开始,MongoDB默认使用WiredTiger存储引擎。它很适合用于高负载的应用,也是官方首选建议使用的存储引擎。WiredTgier存储引擎提供一个文档级别的并发模型,检验点功能和
在配置文件中添加参数logpath=/data/app_data/mongodb/log/mongodb.log logappend=trueWindows下只有这种日志轮转方式> use admin; switched to db admin > db.runCommand({logRotate :&n
1.检查Replica Set的状态使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();2.检查复制延迟时间source: m1.example.net:30001 syncedTo: Tue Oct 02 2012&
1.使用mongodump备份小量分片集群数据如果一个分片集群的数据集比较小,可以直接使用mongodump连接到mongos实例进行数据备份。默认情况下,mongodump到非primary的节点进行数据查询。如:mongodump --host 192.168.100.200 --port 28018 -d taiwan_game1&
MongoDB分片集群的入口mongos自身没有failover机制。官方建议是将mongos和应用服务器部署在一起,多个应用服务器就要部署多个mongos实例,这样很是不方便。还可以使用LVS或者HAProxy来实现多个mongos的failover机制,但是一定要注意使用client affinity即客户端关联特性。global chroot&
接上一篇14.配置集群中的balancer进程balancer进程运行在集群中的某一个mongos实例上,确保chunks均匀分布在整个集群上。更改指定shard的最大存储大小15.移除已有分片集群中的一个分片在移除一个分片之前需要先确保这个分片上的数据已经移动到其他分片上。1)确保Blancer进程已经开启sh.getBalancerState()2)确定需要被移除的分片名称db.adminCo
MongoDB常用操作
本文使用的MongoDB版本是2.4.6。以下测试都是在本机上完成,线上环境需要各个组件分开部署。1.添加主机列表vim /etc/hosts 添加如下列表127.0.0.1 mongo-sharding-router1 127.0.0.1 mongo-sharding-router2 127.0.0.1 mongo-shardin
MongoDB Sharding技术是MongoDB为了解决随着数据量的增加和读写请求的增加,单个MongoDB实例无法应对的问题.通过使用Sharding,MongoDB将数据切分成多个部分,将数据分布存放在多个shard上.Sharding技术使单个shard处理请求减少和存储容量减小,同时,随着集群的扩大,整个集群的吞吐量和容量都会扩大.Sharded cluster分片集群有以下几个组件:
MongoDB Replica Set是MongoDB官方推荐的主从复制和高可用方案,用于替代原有的Master-Slave主从复制方案。Replicat Set具有自动切换功能,当Primary挂掉之后,可以自动由Replica Set中的某一个Secondary来切换到Primary,以实现高可用的目的,不像MySQL那样需要使用第三方软件。目前很多游戏公司都开始使用MongoDB作为数据库,
Database ProfilerMongoDB的数据库性能分析器收集运行的mongod实例的写操作,游标,数据库命令等数据。可以设置基于数据库或者基于实例的性能分析。默认性能分析器是关闭的。数据库性能分析将所有数据写入到system.profile集合,这是个固定大小的集合。Profiling Levels0 关闭性能分析器,不收集任何数据。mongod总是将时间长于slowOpT
连接数
dbStats命令dbStats命令可以返回指定数据库的存储信息,默认是以bytes为单位显示存储信息,可以增加一个scale参数,如scale : 1024表示kilobytes显示。返回信息的时间由指定数据库的大小决定。> db.runCommand({dbStats : 1,scale : 1}) { "db" : 
REST接口MongoDB提供一个简单的REST接口可用于配置监控和告警脚本和其他一些管理任务。可以通过在命令行添加 --rest参数或在配置文件加上rest=true开启REST接口支持。具体可以参见文档http://docs.mongodb.org/ecosystem/tools/http-interfaces/ HTTP接口MongoDB提供一个简单的HTTP接口,如当前MongoDB实例运
mongotop可以查看MongoDB实例花销在读数据或写数据上的时间,它提供集合级别的统计数据,而mongostat是提供数据库级别的统计数据。mongotop默认每秒显示一次数据相关参数选项如下:--help 显示帮助信息--verbose,-v 详细模式,多个v越详细,如-vvv--version 显示版本信息--host 指定主机名--port 指定端口--username,-u 指定用户
参考文档http://docs.mongodb.org/v2.4/administration/monitoring/ 监控MongoDB有一下几种方法:1)使用MongoDB软件包自带的工具,如mongostat,mongotop等。2)使用MongoDB数据库命令3)使用MongoDB公司提供的MMS监控服务4)使用第三方工具监控mongostat命令
本文主要内容来自MongoDB官方文档http://docs.mongodb.org/manual/administration/production-notes/。并结合了实际工作情况进行分享。1)软件包的选择确保使用最新的稳定版本。目前我们线上使用的版本是2.4.6。MongoDB软件包下载页面http://www.mongodb.org/downloads。确保线上环境总是使用64位版本。3
接触MongoDB一年多了,之前从来没有想过自己会在工作中大量使用MongoDB。曾经一段时间,我还想过以后做一个合格的DBA,自己还学习了Oracle和MySQL数据库,但是所在的公司一直都有专门的DBA在维护,所以实际工作中接触的非常少,也只会一些基本查找而已。没有想到自己对MySQL都还没有作深入研究,就直接成为了一名业余的MongoDB DBA,哥也是被逼的啊,公司的游戏数据全存到Mono
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号