前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制。...1)MongoDB集群的节点数量 官方推荐MongoDB副本集的成员数量最好为奇数,且选举要求参与的节点数量必须大于成员数的一半。...2)MongoDB心跳 整个MongoDB集群需要保持一定的通信才能知道哪些节点活着哪些节点挂掉。...3)MongoDB同步 MongoDB副本集同步分为初始化同步和keep复制。初始化同步指全量从主节点同步数据,如果主节点数据量比较大同步时间会比较长。...不过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
一、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...[root@centos6-vm01 ~]# mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb [root@centos6-vm01 ~]# vim...命令帮助系统 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控。...to the MongoDB shell.
// 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命令开始移动,迁移过程中
// 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...命令帮助系统 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控。...to the MongoDB shell....", "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即可。
// MongoDB运维与开发(四)---用户权限管理 // 上次的文章中我们说到了MongoDB中的用户初始化,重点说了启用访问控制的方法、角色与用户的关系、用户的创建、修改、删除、查询方法...MongoDB授权与回收权限 如何授予或者删除用户权限?...shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?...shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?...shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?
近日,黑客组织GhostShell泄露了大量的MongoDB数据库用户资料。 数据遭到大量泄露 据统计该组织目前泄露的数据已达3600万条之多。...MongoDB作为一个基于分布式文件存储的数据库,其主要功能特性包括——面向集合存储,简单来说就是在MongoDB 中数据被分组存储在集合中,同时一个集合中可以存储无限多的文档。...模式自由就是说在MongoDB 中集合中存储的数据是无模式的文档以及采用无模式存储数据。...同时支持完全索引,也就说MongoDB几乎支持SQL中的大部分查询,并且具有强大的聚合工具以及使用高效的二进制数据存储。...而从传统数据库 MySQL到 NoSQL,再到无架构的、以文档为导向的持久存储MongoDB,从 LAMP 到 MEAN ,安全问题的确不容忽视。
运维研发 运维研发负责通用的运维平台设计和研发工作,如:资产管理、监控系统、运维平台、数据权限管理系统等。提供各种API供运维或研发人员使用,封装更高层的自动化运维系统。详细的工作职责如下所述。...【任职要求】: 1,计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识; 2,熟悉mysql、mongodb、redis、mq、elk、nginx、tomcat的安装部署及优化;...Python等脚本语言的一种并有相关开发经验; 4、熟悉Docker、Kubernetes等开源软件; 5、熟悉常见应用配置及优化,如Nginx/Haproxy/MySQL/DNS/Redis/MongoDB...掌握互联网常用的中间件维护、管理,例如redis、mongodb、kafka、memcached、dubbo等; 掌握tomcat、nginx等常见应用的搭建、配置、优化; 掌握zabbix...python/perl/php、Django、Tornado、redis、mongodb、kafka、memcached、dubbo、omcat、nginx、zabbix、nagios、elk、saltstack
1 指定Topic指定分区用重新PREFERRED:优先副本策略 进行Leader重选举
默认配置 附件 More 日常运维 、问题排查 怎么能够少了滴滴开源的 滴滴开源LogiKM一站式Kafka监控与管控平台 ConfigCommand Config相关操作; 动态配置可以覆盖默认的静态配置
领取专属 10元无门槛券
手把手带您无忧上云