前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制。...1)MongoDB集群的节点数量 官方推荐MongoDB副本集的成员数量最好为奇数,且选举要求参与的节点数量必须大于成员数的一半。...2)MongoDB心跳 整个MongoDB集群需要保持一定的通信才能知道哪些节点活着哪些节点挂掉。...oplogSize可以通过--oplogSize设置大小,对于Linux 和Windows 64位,oplog size默认为剩余磁盘空间的5%。 ...不过MongoDB所有的这一切通过它自己的内部机制就可以搞定的了。如下图看看MongoDB通过哪些机制实现路由、分片: ?
// MongoDB运维与开发(7)---MongoDB监控 // MongoDB中自带两个监控的工具,分别是mongostat和mongotop,今天我们看看这两个工具的使用方法。...mongotop这个命令只运行一次,如果想每间隔一段时间,就运行一次,则可以使用: mongotop 30 这样的写法,可以让mongotop命令每30s运行一次,这样可以持续的检测mongodb的运行状态...db.serverStatus() 这条命令会列出MongoDB的整体情况,包含主机名字、版本、进程、连续运行时间、连接状态以及操作状态。...因为它显示的结果比较长,这里我们只说说常用的几个信息: host:主机名字 version:MongoDB版本 process:PID进程号 uptime:主机的运行时间 asserts:MongoDB...启动后报警的统计数量 connections:MongoDB的连接统计信息 network:MongoDB的网路情况 storageEngine:存储引擎信息 mem:当前使用的内存信息 db.stats
理解 shell 先来说下shell是什么,shell是Linux/Unix的一个外壳,Linux/Unix通过shell与内核交互,shell接收用户或程序的命令进而转化成内核明白的命令,内核完成任务后再返回有用的信息给用户或者程序...Linux服务器被黑遭敲诈,如何在3小时内紧急逆袭 作者介绍:陈浩,北信源研发工程师,五年Linux运维工作经验,热衷运维技术研究、实践和团队分享。...看完就会用的 GIT 操作图解分析 无论你是前端还是后台,无论是运维还是移动端研发,GIT 是逃避不了的东西,当然你说你要用 SVN,那不在这次的讨论范围之内。...本文主要讲述如何在 Linux 下连接 V** 服务。....… 10 个非常有趣的 Linux 命令 Linux 当中有很多比较有趣的命令,可以动手看看,很简单的。
一、MongoDB 集群简介 MongoDB是一个基于分布式文件存储的数据库,其目的在于为WEB应用提供可扩展的高性能数据存储解决方案。下面将以3台机器介绍最常见的集群方案。...3、选用MongoDB的缘由 选用MongoDB的数据是以BSON的数据格式,高度伸缩方便扩展,并且数据水平扩展非常简单,支持海量数据存储,性能强悍。...说明:通过此命令,可以查看操作数量、内存使用状况、网络io等 db.runCommand( { serverStatus: 1 } ); 3、检查复制集成员状态 rs.status(); 三、基本的运维操作...机器负载极高 问题说明:此情景是在客户请求较大的情景性,由于部署MongoDB的机器包含一主一从,MongoDB使得IO100%,数据库阻塞,出现大量慢查询,进而导致机器负载极高,应用服务完全不可用。...shard上, 这时候MongoDB会不断报错最后导致MongoDB倒掉。
// MongoDB运维与开发(二) // 今天的内容接着昨天的来看,昨天我们说了MongoDB的部署、数据存储方式以及简单的用户创建,今天我们来看MongoDB的其他一些特点 ?...NO.1 MongoDB的常用数据类型 MongoDB中的文档类似json,我们知道,在json中,最常用的数据类型有null、bool、数组、字符串、数据、json对象等等。...相对比较少,比如对于时间类型的数据,json是无法表示的,而MongoDB中对json进行了简单的优化,像json,但是又不是json。...下面我们慢慢说 MongoDB的常用数据类型和MySQL比较像,你可以对比着看。...4、字符串 最常用的数据类型 {"x":"string"} 5、对象id 对象id是12字节的唯一ID {"x":ObjectId()} 在MongoDB的数据记录里面,也就是文档里面,必须有一个_id
MongoDB运维与开发(三) 今天来看MongoDB的用户相关的内容,用户、权限,这块儿的内容还是比较多的。...慢慢来看 NO.1 MongoDB用户初始化 在我们第一次启动MongoDB的时候,仅仅是制定了data数据目录和log日志目录,并没有指定--auth选项,也就是并不需要认证。...[root@VM-0-14-centos mongo_27017]# mongo MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1...,我们重启MongoDB服务,在配置文件中打开--auth参数,或者直接在命令行里面指定auth参数,重新登陆: [root@VM-0-14-centos mongo_27017]# mongo MongoDB...shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?
// MongoDB运维与开发(一) // 工作方向上的原因,不得不接触部分MongoDB的运维工作,之前有接触过一些MongoDB的内容,基本的运维操作没有什么问题,包括MongoDB的集群搭建...但是时间久了,很多东西不用就忘记了,最近准备出一个系列的MongoDB的运维操作文章,希望把这块儿内容重新拾起来。...网上查了查,MongDB讲得好的书也就是这本了,但是它引用的MongoDB版本比较旧,所以最好结合着官方文档看,这样收获会更快。...NO.1 Linux下MongoDB的安装 Linux下MongoDB的安装还算简单,总体可以分为如下几步: 1、去官网www.mongodb.org 上下载对应版本的二进制包,例如mongodb-linux-x86...--port=27018 MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1:27018/?
// MongoDB运维与开发(六)---MongoDB集群(5) // 关于MongoDB的集群运维,之前的文章已经说了很多内容了,这块儿知识点比较多,由于是每天抽空写文章,所以每天能说到的点有限...到这里,大家对MongoDB的分片应该有了如下认识: 1、分片是自动的 2、分片不是绝对均匀的 后续的文章,我们会说明分片受哪些因素的影响。 今天就到这里吧。
// MongoDB运维与开发(9)---readConcern // readConcern产生背景: MongoDB的写请求写入Primary, secondary从Primary自动获取并且应用...oplog来保持和主库的同步, MongoDB 允许用户从Primary 或者 secondary 读取数据。...MongoDB在3.6版本中引入了readConcern这个参数,readConcern决定在读取数据的时候,到底能够读取到哪个版本的数据。...3、majority:查询结果返回被副本集的大多数成员确认的数据,读操作返回的文档是持久化的 要想使用majority这个模式的readConcern,MongoDB必须使用wireTiger存储引擎。...writeConcernMajorityJournalDefault设置为默认状态true,则读取操作返回的文档是持久的; 如果将writeConcernMajorityJournalDefault设置为false时,在确认写入之前,MongoDB
下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为。...0)MongoDB的安装 [root@centos6-vm01 ~]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6....tgz [root@centos6-vm01 ~]# tar -zxvf mongodb-linux-x86_64-3.0.6.tgz...[root@centos6-vm01 ~]# mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb [root@centos6-vm01 ~]# vim...命令帮助系统 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控。
// MongoDB运维与开发(8)---MongoDB备份与恢复 // 任何数据库都离不开日常的备份与恢复,这二者是数据库安全的前提,MongoDB的备份与恢复方法一般而言都采用自带的工具来进行...来看备份工具: 1 Mongodump工具 在MongoDB中,mongodump工具通常用来做备份使用。...在MongoDB中,Mongorestore这个工具是用来做数据恢复的,数据恢复命令的常用参数如下: 与mongodump重复的部分不再赘述 -p,--port -h,--host -d,--db -c...所以,物理复制必须在MongoDB实例停机状态或者锁定状态下进行。一般来讲,在MongoDB集群中,我们会使用锁定从库的办法来进行备份。...在MongoDB中,可以在从库上进行锁定或者停止实例的备份操作,不建议在线上环境使用MongoDB单库,因为这种情况,备份恢复将会成为一个瓶颈问题。
// MongoDB运维与开发(10)---chunk // MongoDB中,在使用到分片的时候,常常会用到chunk的概念,chunk是指一个集合数据中的子集,也可以简单理解成一个数据块,每个...在MongoDB中,chunk的默认大小是64MB,可以增加或者减少chunk的大小。...chunk的迁移 在分片+复制集的架构中,当某个服务器上的数据记录不停的增多,它上面分割的chunk就会变多,当集群中每个服务器上的chunk数量严重失衡的时候,mongodb会自动进行chunk...MongoDB自动触发迁移的阈值表如下: chunk数量: <20,迁移阈值:2 chunk数量:20~79,迁移阈值:4 chunk数量: >80,迁移阈值:8 chunk的迁移一般使用锁来实现...,从MongoDB3.4版本起,chunk的迁移分为7个步骤: 1、balancer进程将moveChunk的命令发送到源shard中 2、源shard使用内部moveChunk命令开始移动,迁移过程中
如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?...Linux自动地使用所有空闲的内存作为高速缓冲,当程序需要更多的内存时,它也会自动地减小缓冲的大小。...某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?...在Linux系统下如何按照下面要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?...在Linux下如何指定dns服务器,来解析某个域名? dig @DNSip domain.com 35.
一、找出占用CPU 内存过高的进程#!/bin/bashecho "-------------------CUP占用前10排序-----------------...
// MongoDB运维与开发(五)---角色管理 // 之前的两篇文章,我们已经讲清楚了MongoDB的用户权限管理,接下来的文章我们来看MongoDB的角色管理。 ?...NO.1 MongoDB内建角色 内建角色的种类和特点? 想要了解内建角色,还是少不了下面这张图,在MongoDB中,用户的权限是通过角色绑定的方法来分配的。...MongoDB 4.0中的内建角色类型如下: ?...MongoDB中的角色特点 在MongoDB中,授予用户某个角色的权限时,默认授予当前数据库 角色授权可以授予集合级别的粒度 角色授权分成系统集合以及非系统集合的访问权限 每个数据库中的角色都可以分成一般角色和管理角色...[root@VM-0-14-centos ~]# mongo MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/
下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为。...0)MongoDB的安装 [root@CentOS6-vm01 ~]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6....tgz [root@centos6-vm01 ~]# tar -zxvf mongodb-linux-x86_64-3.0.6.tgz [root@centos6-vm01 ~]# mv mongodb-linux-x86...命令帮助系统 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控。...", "pubdate" : "2018-08-20", "title" : "MongoDB日常运维操作命令集锦", "url" : "https://www.linuxidc.com/Linux
root couse: 对MongoDB复制集的认识不足 机器环境: 192.168.12.6 master状态 192.168.12.4 secondary状态 192.168.12.5 secondary...状态 192.168.2.1 dump节点 ,之前因为磁盘不足,mongodb进程已宕机,这个实例也配置有vote投票权!...:192.168.12.4(secondary) 、192.168.12.6(master) ,都变成了secondary状态 3、业务反馈大量报错 4、DBA恢复 192.168.12.5 上面的mongodb...参考: http://www.ttlsa.com/mongodb/mongodb-replicaset-internal/ https://blog.csdn.net/qq_24598601/article
// MongoDB运维与开发(四) // 上次的文章中我们说到了MongoDB中的用户初始化,而且举了几个小的例子来说明如何进行权限分配,今天我们更加系统的来看这个问题 ?...NO.1 MongoDB用户初始化 如何启用访问控制?...的单实例来说的,如果是MongoDB的集群,则需要在配置文件中设置security.keyFile参数来弃用访问控制,具体配置方法后面到配置复制集的时候再说。...角色分为内建角色和自定义角色,其中内建角色是MongoDB本身自带的角色,每个内建角色都有预设好的权限;自定义角色允许管理者自行定义操作权限的角色。...,创建一个新的管理权限账户 3、配置文件中开启访问参数控制,然后重启MongoDB即可。
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。...本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。...主要从以下几个部分来讲解: Linux日常运维-主机名&hosts Linux日常运维-history(本章节) Linux日常运维-SSHD(一) Linux日常运维-SSHD(二) Linux日常运维...-ENV(一) Linux日常运维-ENV(二) Linux日常运维-任务计划 history 命令用于显示当前 Bash shell 会话的命令历史记录。
系列专题:Linux运维入门教程 ---- Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。...testsuite/sadist/iostat sysstat-10.1.5-19.el7.x86_64 : Collection of performance monitoring tools for Linux...实践 3.1 常用参数 [root@devvm ~]$ iostat -x Linux... avg-cpu: %user %nice %system %iowait %steal %idle
领取专属 10元无门槛券
手把手带您无忧上云