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. POJ1759 Garland —— 二分

    题目链接:http://poj.org/problem?id=1759 Garland Time Limit: 1000MS   Memory Limit: 10000K Total Submissi ...

  2. js判断字符串是否包含某个字符串

    String对象的方法 1,indexOf() (推荐) 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1 var str = "123 ...

  3. oracle:程序后台提示Io异常: The Network Adapter could not establish the connection)

    今天要用tomcat部署一个系统,windows环境下,oracle和程序在一台机器上. 在配置jndi时,直接写成 jdbc:oracle:thin:@127.0.0.1:1521:orcl.启动程 ...

  4. oracle自动表分析

    oracle 表的统计信息,跟他的执行计划很有关联 执行计划的正常是否,跟SQL的执行速度很有关系 首先讲解一下如何查看一个数据库的是否开启自动统计分析 1.查看参数:STATISTICS_LEVEL ...

  5. Park Visit(树的直径)

    传送门 Park Visit Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. this关键字在继承中的使用

    参考:http://blog.csdn.net/gxzzxj/article/details/51946144 下面是自己的代码: public class ChildA extends Father ...

  7. Mysql数据库实现高可用

    Mysql实现高可用 MMM MMM(master-master replication manager for mysql)mysql主主复制管理器. MMM是一套灵活的脚本程序,基于perl实现, ...

  8. Swift3.0 控制流

    常用的一些判断方式 //for in let numberList = [, , , , ] //获取第一个元素 !拆包 print(numberList.first!)//1 //获取最后一个元素 ...

  9. the little schemer 笔记(10)

    第十章 What Is  the Value of All of This? entry条目 是由list表组成的 pair 对,pair 对的第一个list表是集合 set.另外,两个list表的长 ...

  10. socket_IO模型

    1 背景知识 1.1 用户空间和内核空间 比如32位系统,寻址空间是4G.内存分为用户空间和内核空间,内核空间仅供内核使用,用户空间给各个进程使用.os的核心是内核,只有内核可以访问被保护的内存空间. ...