MongoDB部署

系统环境:CentOS7   下载地址:http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

MongoDB安装包版本:4.0.5  下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.5.tgz

在CentOS上安装软件基本就是一些命令,以下列出所使用的命令:

1、关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

2、上传安装包并解压

tar zxvf mongodb-linux-x86_64-rhel70-4.0.5.tgz

3、剪切到/usr/local下

mv mongodb-linux-x86_64-rhel70-4.0.5 /usr/local/mongodb

4、创建MongoDB相应的文件夹

mkdir -p /data/db

mkdir -p /data/log

mkdir -p /data/conf 在当前文件夹下创建一个配置文件mongodb.conf,内容如下:

 dbpath=/data/db
#logpath=/data/log/mongodb.log
bind_ip=0.0.0.0
port=

5、进入/usr/local/mongodb/bin目前启动MongoDB

./mongod --config /data/conf/mongodb.conf

6、用浏览器访问如出现如下即为安装成功

MongoDB使用指南

使用的连接客户端是Robo 3T,下载地址:https://robomongo.org/download

如下为我在本地创建的集合:

如下为经常会使用到的查询语句:

 //查询姓名为小小的数据

 db.getCollection('student').find({"name":"xiaoxiao"})

 //并列查询and

 db.getCollection('student').find({"name":"xiaoxiao","age":})

 //查询age小于29

 db.getCollection('student').find({"age":{$lt:}})

 //或 查询语句

 db.getCollection('student').find({$or:[{"age":},{"age":}]})

 //limit查询

 db.getCollection('student').find({}).limit()

 //skip跳过前两条进行 查询

 db.getCollection('student').find({}).skip()

 //按age字段进行升序排序(1),降序排序(-1)

 db.getCollection('student').find({}).sort({"age":})

 //模糊查询name值带有xiao(类似于SQL中的like)

 db.getCollection('student').find({"name":{"$regex":"xiao"}})

过滤出status为A的数据并分别统计出每个name总的年龄:

 db.getCollection('student').aggregate([
{$match:{"status":"A"}},
{$group:{_id:"$name",total:{$sum:"$age"}}}
])

MongoDB监控

MongoDB监控可以使用自带的命令进行监控,当然也可以使用zabbix。

这里介绍下两个MongoDB自带的命令用于监控:

1、mongotop

2、mongostat

MongoDB调优

MongoDB数据库很多用于日志的记录、地理位置存储,所以在调优上主要涉及到比较多的是数据库索引。

如何创建MongoDB的索引呢?

db.getCollection('student').ensureIndex({"age":,"name":-},{background:true})

如上创建了age字段正序,name字段倒序的索引。

MongoDB部署、使用、监控及调优的更多相关文章

  1. 使用 Elastic Stack 来监控和调优 Golang 应用程序

    Golang 因为其语法简单,上手快且方便部署正被越来越多的开发者所青睐,一个 Golang 程序开发好了之后,势必要关心其运行情况,今天在这里就给大家介绍一下如果使用 Elastic Stack 来 ...

  2. DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优

    胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...

  3. Kafka监控与调优

    Kafka监控 五个维度来监控Kafka 监控Kafka集群所在的主机 监控Kafka broker JVM的表现 监控Kafka Broker的性能 监控Kafka客户端的性能.这里的所指的是广义的 ...

  4. DataPipeline |ApacheKafka实战作者胡夕:Apache Kafka监控与调优

    https://baijiahao.baidu.com/s?id=1610644333184173190&wfr=spider&for=pc DataPipeline |ApacheK ...

  5. <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  6. Java系列笔记(4) - JVM监控与调优

    目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...

  7. JVM监控与调优

    目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     转:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html光说不练假把式,学习J ...

  8. 实例详解 DB2 排序监控和调优

    实例详解 DB2 排序监控和调优http://automationqa.com/forum.php?mod=viewthread&tid=2882&fromuid=2

  9. [java] JVM监控与调优

    原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html   光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分 ...

  10. Tomcat性能调优-JVM监控与调优

    参数设置 在Java虚拟机的参数中,有3种表示方法用"ps -ef |grep "java"命令,可以得到当前Java进程的所有启动参数和配置参数: 标准参数(-),所有 ...

随机推荐

  1. WinDbg设置托管进程断点

    WinDbg的Live模式调试..Net 托管代码 ,使用bp,bu,bm无法设置断点,也许是我不会.研究了下,托管代码有自己的命令,!BPMD 模块名 完全限定的方法名 步骤: 1.查找进程PID, ...

  2. 【CQ18阶梯赛第8场】题解

    [A:HDU2032 杨辉三角]: 简单的递推,或者是基础的DP: 但是只有杨润东一个人1A,整体准确率只有8/37,具体原因不详. 经验:提交前一定要试一下比较特殊的数据或者最大的数据.其次,为了保 ...

  3. node fs模块

    Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...

  4. 如何在XCode中更改iPhone或iPad模拟器类型

    如何在XCode中更改iPhone或iPad模拟器类型 参考方法一(永久,一旦设置后,每次运行指定的模拟器):(1)选择顶层菜单Project 中的 Set Active Executable(2)根 ...

  5. Struts2 文件上传 之 文件类型 allowedTypes

     转自:https://www.cnblogs.com/zxwBj/p/8546889.html '.a'      : 'application/octet-stream', '.ai'     : ...

  6. mfc实现对话框全屏置顶显示

    一.MFC让对话框窗口始终在最前 方法一:在对话框的属性中,把SystemModal设置为True. 二.全屏显示 在CDialog7::OnInitDialog()中加入: 先取得分辨率, int ...

  7. 插入符的创建(MFC)

    int CDrawRectangleDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { ) ; // TODO: 在此添加您专用的创建代码 CreateSol ...

  8. 【209】SQL学习&C#连接数据库

    参考:传智播客.Net培训.net视频教程 >> [04]第四季 SQL(1-16)参考:传智播客.Net培训.net视频教程 >> [05]第五季 ADO.NET(1-30) ...

  9. hadoop推荐

    hadoop官网 我以Hadoop 2.7.3为例. hadoop 2.7.3 官网  . 用的操作系统是64bit Ubuntu14.04. 其中我们还可以学习 Apache Maven Proje ...

  10. 为什么linux有足够的内存还进行swap?

    1.Linux在内存被用完之前开始交换.这是为了提高性能和响应能力: 性能提高是因为一些内存放磁盘缓存比方内存更合适.因此,最好将一个已经停用了一段时间的程序交换出去,而将经常使用的文件保存在缓存中. ...