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. 织梦dedecms如何显示所有文章列表

    本文介绍了dedecms中显示所有文章列表的实现方法,dedecms如何显示所有文章列表,有需要的朋友参考下. 例子,dedecms中显示所有文章列表.   代码示例:{dede:channelart ...

  2. eclipse创建maven项目出现以下报错: org.apache.maven.archiver.MavenArchiver.getManifest (org.apache.maven.project.MavenProject,org.apache.mav en.archiver.MavenArchiveConfiguration)

    解决方法: 更新eclipse中的maven插件 Help ->  Install New Software -> add ->  http://repo1.maven.org/ma ...

  3. 如何去掉idea里mybatis的.xml文件 sql 语句背景色

    点击有背景的地方 Alt+Enter选择 un-inject Language/refence 即可去掉

  4. 【旧文章搬运】分析了一下360安全卫士的HOOK

    原文发表于百度空间及看雪论坛,2009-10-08 看雪论坛地址:https://bbs.pediy.com/thread-99128.htm 看时间,09年的国庆节基本上就搞这玩意儿了...==== ...

  5. docker 远程连接设置

    Docker为C/S架构,服务端为docker daemon,客户端为docker.service. 默认不会监听任何端口,只能在本地使用docker客户端或者使用Docker API进行操作.要支持 ...

  6. 022--python 模块介绍和time模块

    一.模块的含义 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代 ...

  7. Redis高级

    Redis高级 redis数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实 ...

  8. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道

    ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 语雀: https://www.yuque.com/yuejiangliu/dotnet/ ...

  9. C++语言中的static关键字的作用是什么?

    在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.在模块 ...

  10. poj3181【完全背包+整数拆分】

    题意: 给你一个数n,在给你一个数K,问你这个n用1-k的数去组合,有多少种组合方式. 思路: 背包重量就是n: 那么可以看出 1-k就是重物,价值是数值,重量是数值. 每个重物可以无限取,问题转化为 ...