首页
学习
活动
专区
工具
TVP
发布

MongoDB集群笔记

前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结:         MongDB副本集故障转移功能得益于它的选举机制。...1)MongoDB集群的节点数量        官方推荐MongoDB副本集的成员数量最好为奇数,且选举要求参与的节点数量必须大于成员数的一半。...2)MongoDB心跳        整个MongoDB集群需要保持一定的通信才能知道哪些节点活着哪些节点挂掉。...oplogSize可以通过--oplogSize设置大小,对于Linux 和Windows 64位,oplog size默认为剩余磁盘空间的5%。        ...不过MongoDB所有的这一切通过它自己的内部机制就可以搞定的了。如下图看看MongoDB通过哪些机制实现路由、分片: ?

4.4K101

MongoDB与开发(7)---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

95810
您找到你想要的搜索结果了吗?
是的
没有找到

linux

理解 shell 先来说下shell是什么,shell是Linux/Unix的一个外壳,Linux/Unix通过shell与内核交互,shell接收用户或程序的命令进而转化成内核明白的命令,内核完成任务后再返回有用的信息给用户或者程序...Linux服务器被黑遭敲诈,如何在3小时内紧急逆袭 作者介绍:陈浩,北信源研发工程师,五年Linux工作经验,热衷技术研究、实践和团队分享。...看完就会用的 GIT 操作图解分析 无论你是前端还是后台,无论是还是移动端研发,GIT 是逃避不了的东西,当然你说你要用 SVN,那不在这次的讨论范围之内。...本文主要讲述如何在 Linux 下连接 V** 服务。....… 10 个非常有趣的 Linux 命令 Linux 当中有很多比较有趣的命令,可以动手看看,很简单的。

13.8K30

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

1.2K20

MongoDB 常用实践总结

一、MongoDB 集群简介 MongoDB是一个基于分布式文件存储的数据库,其目的在于为WEB应用提供可扩展的高性能数据存储解决方案。下面将以3台机器介绍最常见的集群方案。...3、选用MongoDB的缘由 选用MongoDB的数据是以BSON的数据格式,高度伸缩方便扩展,并且数据水平扩展非常简单,支持海量数据存储,性能强悍。...说明:通过此命令,可以查看操作数量、内存使用状况、网络io等 db.runCommand( { serverStatus: 1 } ); 3、检查复制集成员状态 rs.status(); 三、基本的操作...机器负载极高 问题说明:此情景是在客户请求较大的情景性,由于部署MongoDB的机器包含一主一从,MongoDB使得IO100%,数据库阻塞,出现大量慢查询,进而导致机器负载极高,应用服务完全不可用。...shard上, 这时候MongoDB会不断报错最后导致MongoDB倒掉。

1.9K11

MongoDB与开发(一)

// MongoDB与开发(一) // 工作方向上的原因,不得不接触部分MongoDB工作,之前有接触过一些MongoDB的内容,基本的操作没有什么问题,包括MongoDB的集群搭建...但是时间久了,很多东西不用就忘记了,最近准备出一个系列的MongoDB操作文章,希望把这块儿内容重新拾起来。...网上查了查,MongDB讲得好的书也就是这本了,但是它引用的MongoDB版本比较旧,所以最好结合着官方文档看,这样收获会更快。...NO.1 LinuxMongoDB的安装 LinuxMongoDB的安装还算简单,总体可以分为如下几步: 1、去官网www.mongodb.org 上下载对应版本的二进制包,例如mongodb-linux-x86...--port=27018 MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1:27018/?

1.3K20

MongoDB与开发(9)---readConcern

// 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

1.3K20

MongoDB与开发(10)---chunk

// 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命令开始移动,迁移过程中

63220

MongoDB与开发(8)---MongoDB备份与恢复

// MongoDB与开发(8)---MongoDB备份与恢复 // 任何数据库都离不开日常的备份与恢复,这二者是数据库安全的前提,MongoDB的备份与恢复方法一般而言都采用自带的工具来进行...来看备份工具: 1 Mongodump工具 在MongoDB中,mongodump工具通常用来做备份使用。...在MongoDB中,Mongorestore这个工具是用来做数据恢复的,数据恢复命令的常用参数如下: 与mongodump重复的部分不再赘述 -p,--port -h,--host -d,--db -c...所以,物理复制必须在MongoDB实例停机状态或者锁定状态下进行。一般来讲,在MongoDB集群中,我们会使用锁定从库的办法来进行备份。...在MongoDB中,可以在从库上进行锁定或者停止实例的备份操作,不建议在线上环境使用MongoDB单库,因为这种情况,备份恢复将会成为一个瓶颈问题。

58910

MongoDB与开发(五)---角色管理

// 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/

78830

MongoDB与开发(四)---用户权限

// MongoDB与开发(四) // 上次的文章中我们说到了MongoDB中的用户初始化,而且举了几个小的例子来说明如何进行权限分配,今天我们更加系统的来看这个问题 ?...NO.1 MongoDB用户初始化 如何启用访问控制?...的单实例来说的,如果是MongoDB的集群,则需要在配置文件中设置security.keyFile参数来弃用访问控制,具体配置方法后面到配置复制集的时候再说。...角色分为内建角色和自定义角色,其中内建角色是MongoDB本身自带的角色,每个内建角色都有预设好的权限;自定义角色允许管理者自行定义操作权限的角色。...,创建一个新的管理权限账户 3、配置文件中开启访问参数控制,然后重启MongoDB即可。

81520
领券