云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB...

102
优刻得科技股份有限公司 版权所有 云数据库 云数据库 MongoDB UDB 产品⽂档

Transcript of 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB...

Page 1: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

优刻得科技股份有限公司 版权所有

云数据库云数据库 MongoDB UDB产品档

2

7

8

9999

1010101010111111111212121212

录录

录录

概览概览

什么是云数据库什么是云数据库MongoDB

主要概念主要概念

实例类型节点数据库机型版本副本集分集群内存硬盘付费式数量配置件管理员实例名称资源IDIP和端备份志

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 2102

13131313131414

151515

17

22

242424242829

31

产品优势产品优势

性能出灵活备份数据安全管理便捷兼容性强弹性扩展

规格版本规格版本

产品版本各版本新功能介绍

键副本集键副本集

扩展副本集扩展副本集

如何通过副本集模式连接如何通过副本集模式连接介绍格式例使副本集连接模式实现ldquo读写分离rdquo参考档

配置节点配置节点

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 3102

38

45

46

48485253

55555658

60616162636666

68

构建分集群构建分集群

副本集架构副本集架构

分集群架构分集群架构

实例管理实例管理

基本操作配置升降级操作志管理

备份管理备份管理

数据备份备份下载备份创建MongoDB实例

配置件管理配置件管理

导配置件创建配置件查看配置件编辑配置件删除配置件更改配置件

志管理志管理

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 4102

68686969

71

72727272727373

747476

83838384

85

志分类志下载清理志查询志

客户场景客户场景

业应业应

游戏业物流业社交业物联业视频直播业移动业

基准测试基准测试

MongoDB 26 测试数据MongoDB 30 测试数据

产品价格产品价格

1 计费公式2 内存3 硬盘

FAQs

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 5102

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 2: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

2

7

8

9999

1010101010111111111212121212

录录

录录

概览概览

什么是云数据库什么是云数据库MongoDB

主要概念主要概念

实例类型节点数据库机型版本副本集分集群内存硬盘付费式数量配置件管理员实例名称资源IDIP和端备份志

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 2102

13131313131414

151515

17

22

242424242829

31

产品优势产品优势

性能出灵活备份数据安全管理便捷兼容性强弹性扩展

规格版本规格版本

产品版本各版本新功能介绍

键副本集键副本集

扩展副本集扩展副本集

如何通过副本集模式连接如何通过副本集模式连接介绍格式例使副本集连接模式实现ldquo读写分离rdquo参考档

配置节点配置节点

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 3102

38

45

46

48485253

55555658

60616162636666

68

构建分集群构建分集群

副本集架构副本集架构

分集群架构分集群架构

实例管理实例管理

基本操作配置升降级操作志管理

备份管理备份管理

数据备份备份下载备份创建MongoDB实例

配置件管理配置件管理

导配置件创建配置件查看配置件编辑配置件删除配置件更改配置件

志管理志管理

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 4102

68686969

71

72727272727373

747476

83838384

85

志分类志下载清理志查询志

客户场景客户场景

业应业应

游戏业物流业社交业物联业视频直播业移动业

基准测试基准测试

MongoDB 26 测试数据MongoDB 30 测试数据

产品价格产品价格

1 计费公式2 内存3 硬盘

FAQs

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 5102

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 3: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

13131313131414

151515

17

22

242424242829

31

产品优势产品优势

性能出灵活备份数据安全管理便捷兼容性强弹性扩展

规格版本规格版本

产品版本各版本新功能介绍

键副本集键副本集

扩展副本集扩展副本集

如何通过副本集模式连接如何通过副本集模式连接介绍格式例使副本集连接模式实现ldquo读写分离rdquo参考档

配置节点配置节点

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 3102

38

45

46

48485253

55555658

60616162636666

68

构建分集群构建分集群

副本集架构副本集架构

分集群架构分集群架构

实例管理实例管理

基本操作配置升降级操作志管理

备份管理备份管理

数据备份备份下载备份创建MongoDB实例

配置件管理配置件管理

导配置件创建配置件查看配置件编辑配置件删除配置件更改配置件

志管理志管理

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 4102

68686969

71

72727272727373

747476

83838384

85

志分类志下载清理志查询志

客户场景客户场景

业应业应

游戏业物流业社交业物联业视频直播业移动业

基准测试基准测试

MongoDB 26 测试数据MongoDB 30 测试数据

产品价格产品价格

1 计费公式2 内存3 硬盘

FAQs

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 5102

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 4: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

38

45

46

48485253

55555658

60616162636666

68

构建分集群构建分集群

副本集架构副本集架构

分集群架构分集群架构

实例管理实例管理

基本操作配置升降级操作志管理

备份管理备份管理

数据备份备份下载备份创建MongoDB实例

配置件管理配置件管理

导配置件创建配置件查看配置件编辑配置件删除配置件更改配置件

志管理志管理

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 4102

68686969

71

72727272727373

747476

83838384

85

志分类志下载清理志查询志

客户场景客户场景

业应业应

游戏业物流业社交业物联业视频直播业移动业

基准测试基准测试

MongoDB 26 测试数据MongoDB 30 测试数据

产品价格产品价格

1 计费公式2 内存3 硬盘

FAQs

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 5102

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 5: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

68686969

71

72727272727373

747476

83838384

85

志分类志下载清理志查询志

客户场景客户场景

业应业应

游戏业物流业社交业物联业视频直播业移动业

基准测试基准测试

MongoDB 26 测试数据MongoDB 30 测试数据

产品价格产品价格

1 计费公式2 内存3 硬盘

FAQs

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 5102

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 6: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

858585868686878788899091929292949596989999

100101

MongoDB实例功能和开源MongoDB有区别吗MongoDB实例是否使物理机搭建MongoDB的安全性如何如何备份与恢复MongoDB实例类型有哪些怎么查看MongoDB的统计信息MongoDB集群包括哪些组件配置件有哪些如何创建secondary和arbiter如何使鉴权如何访问MongoDB实例如何访问业务MongoDB如何搭建分集群如何访问shardsvr如何访问configsvr如何连接集群如何开启分如何管理和查看慢查询如何使API创建Mongos利HAproxy外访问UDB-MONGO在云主机上使wget下载云数据库的Log时报错如何解决如何修改local库的如何查询MongoDB实例的服务器端版本和其他安装信息mongoDB-32备份件解压如何连接MongoDB云数据库

录 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 6102

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 7: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

概览概览

产品简介什么是云数据库MongoDB主要概念产品优势规格版本

快速上键副本集扩展副本集副本集模式连接配置节点构建分集群

产品架构副本集架构分集群架构

操作指南实例管理备份管理配置件管理志管理

产品应客场景业应

基准测试产品价格FAQs

概览 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 7102

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 8: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

什么是云数据库什么是云数据库MongoDB

云数据库MongoDB是基于成熟云计算技术的可性能的数据库服务完全兼容MongoDB 协议持灵活部署除副本集实例架构外云数据库MongoDB还提供分集群架构来满海量数据业务场景同时提供灾备备份监控告警等全套解决案

什么是云数据库MongoDB 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 8102

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 9: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

主要概念主要概念

实例类型实例类型

MongoDB实例类型有数据节点路由节点配置节点数据节点可以构建副本集通过配置节点路由节点和副本集可以构建分集群

节点节点

MongoDB分为Primary(Shardsvr)SecondaryArbiterConfigsvrMongos等节点类型Primary节点为副本集主节点副本集默认是三节点副本集架构持变更副本集节点配置持增减副本集内节点个数Secondary节点为副本集从节点可以提供读服务增加Secondary节点可以提升副本集的读服务能和可性Arbiter节点为副本集仲裁节点不存储数据只负责故障转移时投票Mongos节点为服务代理单个集群版实例可持多个Mongos节点Configsvr节点为集群必备的配置节点

数据库机型数据库机型

MongoDB实例提供标准机型和SSD机型

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 9102

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 10: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

版本版本

MongoDB前持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

副本集副本集

默认键构建三节点的副本集Primary节点+个Secondary节点+个Arbiter节点构成通过副本集中创建节点操作可持扩展更多节点的副本集(例如五节点七节点或者更多个节点)适于对数据库有更读取性能需求的业务场景如读多写少场景或活动促销类突发业务需求

分集群分集群

控制台持构建分集群由Configsvr三副本+N个Mongos+数据分(三节点副本集Primary节点+个Secondary节点+个Arbiter节点)构成路由节点和数据分可以根据业务数据情况增减节点和分的数量会配置默认Configsvr三副本的分集群持版本MongoDB34MongoDB 36和MongoDB 40版本MongoDB32及以下版本可以通过配置节点及路由节点创建主构建

内存内存

云数据库的内存可以根据对云数据库的硬件需求进选择

硬盘硬盘

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 10102

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 11: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

云数据库的硬盘可以根据对云数据库的硬件需求进选择

付费式付费式

付费式分为按年按按需三种式且付式皆为预付费即提前付相应服务周期的费具体计费说明请参考ldquo购买和计费rdquo档

数量数量

需要申请的云数据库数量默认为1台同时可以选择多台进批量创建

配置件配置件

配置件包括云数据库运的各类配置参数可以根据需要进定义和修改不同云数据库版本均提供相应默认配置件配置件包括默认配置件和定义配置件定义配置件由创建和导

管理员管理员

默认提供超级管理员(root)权限允许定义管理员密码

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 11102

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 12: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

实例名称实例名称

可以定义云数据库实例的名称

资源资源ID

创建云数据库实例后系统会动成资源ID资源ID全局唯

IP和端和端

IP为访问云数据库的内地址创建云数据库成功后动成前不提供外IPMongoDB默认端为27017

备份备份

备份保存了某时间点云数据库的所有数据云数据库提供动备份和动备份两种式防数据丢失避免误操作带来的险

志志

志是于记录云数据库操作事件的记录件包括进制志慢查询志错误志操作志

主要概念 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 12102

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 13: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

产品优势产品优势

性能出性能出

针对数据库性能需求采端性能硬件配置同时对数据库性能参数进了特殊的优化

灵活备份灵活备份

提供动备份和动备份两种式防数据丢失和误删除保障数据安全可靠

数据安全数据安全

多保证数据安全包括数据访问络隔离数据灾备等

管理便捷管理便捷

只需按照需要的数据空间性能要求选择相应实例数分钟后即可直接使

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 13102

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 14: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

兼容性强兼容性强

缝兼容和MongoDB需进任何改动便可将应程序迁移云数据库上

弹性扩展弹性扩展

根据数据库的实际负载情况实时进实例升级进获得更的数据库空间与更强的数据库性能

产品优势 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 14102

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 15: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

规格版本规格版本

产品版本产品版本

MongoDB副本集及分集群持MongoDB 24MongoDB 26MongoDB 30MongoDB 32MongoDB34MongoDB 36和MongoDB 40可以根据需求选择相应的云数据库版本

各版本新功能介绍各版本新功能介绍

MongoDB34版本版本

初始化同步的时候同步建所有的索引持配置 Primary 追数据的时间增加了量的aggregation操作符功能更强如$graphLookup能持更复杂的关系运算MongoDB36版本版本

36版本将认证机制MONOGDB-CR更新为SCRAM安全性加强增加了更多的聚合操作符如$arrayToObject$objectToArray$mergeObjects 等添加了replSetResizeOplog 命令WiredTiger存储引擎可以动态调整oplog的MongoDB40版本版本

引多档事务持副本集内部跨或多个集合的多档事务保证针对多个档的更新的原性

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 15102

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 16: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

wt引擎的数据节点不允许设置storgejournalendbled为false通过读snapshot解决从库应oplog加全局锁导致业务读与应oplog相互阻塞的问题

规格版本 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 16102

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 17: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

键副本集键副本集

1在控制台选择云数据库UDBgtMongoDB管理点击ldquo创建副本集rdquo或者在空区域根据提点击创建MongoDB实例即可键创建MongoDB副本集

2在新建副本集中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件付费式和副本集数量系统会根据选择计算费右侧会显副本集所需付费其中arbiter节点免费固定内存和磁盘创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 17102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 18: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root为了数据安全管理员密码需要有定的复杂度3确认各项选择以及额点击确定按钮进订单付

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 18102

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 19: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

确认付进扣费和资源分配初始化等操作4付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 19102

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 20: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

5选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 20102

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 21: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

键副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 21102

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 22: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

扩展副本集扩展副本集

云数据库MongoDB控制台默认键副本集创建3个节点(1个primary+1个secondary+1个arbiter)同时提供增加节点的功能(如扩展5节点7节点等)可以根据业务需求情况增加Secondary节点和Arbiter节点数量操作如下

选择所需的节点类型(arbiter节点免费)确认提交并付成功即完成节点创建

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 22102

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 23: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

当节点初始化完成实例为运状态时可以对节点进管理操作(如配置升降级关闭重启删除等操作)

扩展副本集 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 23102

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 24: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

如何通过副本集模式连接如何通过副本集模式连接

介绍介绍

副本集模式连接指的是把副本集看作个整体动探测现在的主节点并进连接的模式这样能够做到论现在副本集哪个是主节点客端都可以连到正确的节点上并且切换后不需要额外修改客端的程序同时结合read preference参数能够做类似写操作在主库进读操作在从库进的rdquo读写分离ldquo功能

格式格式

般的客端可以使MongoDB URL的模式进副本集连接MongoDB URL的格式是

mongodb[usernamepassword]host1[port1][host2[port2][hostN[portN]]][[database][options]]

其中使副本集模式连接关键的参数是replicaSet=xxxx(xxxx指代副本集名称在控制台的详情能够获取)只要指定这个参数并且在IP列表中指定多个副本集节点的IP就做到了副本集模式连接

例例

假设控制台上有这么个副本集

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 24102

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 25: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

先我们得知它的3个IP分别是109149246 1096114 109183226

然后我们获取这个副本集的副本集ID先对任意个节点点击rdquo详情rdquo

进去之后可以在详情信息中看到副本集名称

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 25102

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 26: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

从图中可以得到这个副本集的副本集名称是udb-5x15saxi

因此我们可以得到这个副本集的连接模式的最基本的MongoDB URL为

mongodb1091492461096114109183226replicaSet=udb-5x15saxi

连接的截图如下图所

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 26102

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 27: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

备注备注

副本集模式的IP列表不需要全部列全只需要列的列表中能有超过1个节点的IP就可以了客端会动去询问对应节点把所有的IP列表都拿到关于MongoDB URL的database部分根据档描述如果在MongoDB URL当中指定了名和密码那么database部分就是指定了对应的authentication database(就是实例截图中的--authenticationDatabase参数)因此上的这个例如果纯粹使MongoDB URL连接的话使下这个URL

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxi

截图如下

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 27102

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 28: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

使副本集连接模式实现使副本集连接模式实现ldquo读写分离读写分离rdquo

使副本集模式的readPreference参数能够实现写操作在主库进读操作在从库进的rdquo读写分离ldquo功能 它有这么个值

primary 读请求全部primary (secondary节点纯粹是做可的容灾使)这个是最经典的连接法把副本集当作个纯粹的可集群使且肯定能保证读到的数据是最准确的secondary 写请求全部primary读请求全部secondary这个是把副本集作为读写分离集群来使他能提读操作的吞吐(通过添加多个secondary的法)但是它的缺点是可能读到的数据和主库是不致的所以在对于数据致性有较的场景下慎primaryPreferred 优先primary只有少数情况才去secondary读取数据

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 28102

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 29: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

secondaryPreferred 优先secondary只有少数情况才去primary读取数据nearest根据客端到各个节点的延时选择节点如果延时在某个阈值内随机选择节点如果所有节点延时在某个阈值外选择延时最的

上的例中可以使下的法实现读写分离的效果

mongodbucloudbackupthisispassword1091492461096114109183226adminreplicaSet=udb-5x15saxiampreadPreference=secondary

参考档参考档

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 29102

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 30: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

httpsdocsmongodbcomv34referenceconnection-stringreplica-set-optionhttpsdocsmongodbcomv34referenceconnection-stringread-preference-options

如何通过副本集模式连接 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 30102

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 31: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置节点配置节点

对于mongodb32及以下版本可以通过创建配置节点路由节点构建分集群1在控制台选择云数据库UDBgtMongoDB管理ldquo更多rdquo中点击ldquo创建配置节点rdquo到达新建配置节点中选择所在地域及可区基础配置可选择数据库机型内存硬盘固定20G版本配置件付费式和数量系统会根据选择计算费右侧会显所需付费创建MongoDB配置节点时会使默认配置件若有特殊需要可以上传定义配置件

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 31102

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 32: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

2确认付完成后跳转回MongoDB实例管理MongoDB实例进初始化待初始化完成之后即可使在MongoDB实例管理列出了所有MongoDB实例信息包括实例名称属性IP地址机型配置状态操作等

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 32102

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 33: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

3创建Mongos路由节点在控制台选择configsvr属性的MongoDB实例点击操作项中的创建路由节点在新建选择内存及配置件确认付

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 33102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 34: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 34102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 35: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 35102

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 36: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

4选择某个MongoDB实例后点击名称或详情跳转到其级详细详情可以查看实例信息监控数据和进常数据库管理操作

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 36102

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 37: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置节点 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 37102

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 38: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

构建分集群构建分集群

1在控制台选择云数据库UDBgtMongoDB管理切换分集群列表点击ldquo创建分集群rdquo或者在空区域根据提点击创建分集群

2在新建分集群中选择所在地域及可区基础配置可选择数据库机型内存硬盘版本配置件 创建MongoDB实例时会使默认配置件若有特殊需要可以上传定义配置件

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 38102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 39: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 39102

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 40: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

新建中络设置可以选择所属的VPC及以及管理设置实例名称端号管理员名和管理员密码MongoDB默认端号为27017管理员名默认为root 为了数据安全管理员密码需要有定的复杂度4确认各项选择后点击确定按钮进资源分配跳转回集群实例管理MongoDB配置节点实例进初始化

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 40102

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 41: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

点击详情或实例名称弹出集群详情可以查看集群信息节点信息和进常的集群管理(如增减路由节点和数据分)操作

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 41102

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 42: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

5创建路由节点在MongoDB实例管理列出了集群基本信息点击操作项中ldquo创建路由节点rdquo或详情中的ldquo创建路由节点rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 42102

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 43: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

6创建数据分点击集群列表操作项中ldquo创建数据分rdquo或详情中的ldquo创建数据分rdquo

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 43102

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 44: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

构建分集群 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 44102

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 45: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

副本集架构副本集架构

UCloud云数据库MongoDB副本集架构

默认键副本集三节点包含主节点(Primary)副本节点(Secondary)仲裁节点(Arbiter)客可以跟据业务需求情况在控制台上可主增减Secondary节点和Arbiter节点主节点(primary)负责整个副本集的读写也可根据业务需求情况设置全部或部分读请求到副本节点(Secondary)副本集实时同步数据如果主节点出现故障或宕机副本节点就会选举个新的主节点这切对于应服务器不需关仲裁节点不存储数据只负责故障转移的群体投票这样就少了数据复制的压UCloud MongoDB产品中仲裁节点(Arbiter)免费

副本集架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 45102

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 46: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

分集群架构分集群架构

MongoDB持分多个分可以组成个集群对外提供服务为了解决随着数据量增多导致的瓶颈MongoDB采ldquo分rdquo来解决这个问题 MongoDB能够快速搭建个可可扩展的的分布式集群具有数据量扩展性性能灵活数据模型可性特性分集群架构

UCloud云数据MongoDB分集群(MongoDB34及以上版本)由Configsvr三副本+N个Mongos+N个shard数据分构成Mongodb集群设置好分规则通过mongos操作数据库

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 46102

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 47: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

就能动把对应的数据操作请求转发到对应的分机器上路由节点(Mongos)数据库集群请求的所有的请求都通过mongos进协调mongos就是个请求分发中它负责把对应的数据请求转发到对应的shard服务器上在产环境中建议使多个mongos作为请求的实现负载均衡及防其中个故障导致所有的mongodb请求都法操作配置节点(Configsvr)存储所有数据库元信息(路由分)的配置路由节点第次启动或者关掉重启就会从配置节点加载配置信息以后如果配置节点信息变化会通知到所有路由节点更新状态这样配置节点就能继续准确路由对于MongoDB34及以上版本UCloud云数据MongoDB分集群中的配置节点三副本免费分节点(Shard)负责存储数据库数据每个Shard数据分默认三节点副本集(三节点副本集由Primary节点+1个Secondary节点+1个Arbiter节点构成)可根据实际业务需求变更Secondary节点和Arbiter节点数量若需横向扩展集群数据存储和读写并发能也可以控制台添加多个Shard数据分

分集群架构 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 47102

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 48: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

实例管理实例管理

基本操作基本操作

启动启动MongoDB实例实例

如果要启动处于关闭状态的MongoDB实例先选择需要启动的MongoDB实例在右侧操作项中点击ldquo启动rdquo按钮弹出的确认对话框选择确定即可启动MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 48102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 49: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 49102

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 50: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

关闭关闭MongoDB实例实例

操作步骤参考启动MongoDB实例

重启重启MongoDB实例实例

操作步骤参考启动MongoDB实例

删除删除MongoDB实例实例

操作步骤参考启动MongoDB实例

单个和批量单个和批量MongoDB实例操作实例操作

控制台持单个和批量操作两种模式单个操作持对选中的MongoDB实例进操作批量操作持对于多个MongoDB实例进共性的操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 50102

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 51: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

如果需要同时重启多个MongoDB实例选择相应的MongoDB实例在批量操作项选择ldquo重启rdquo弹出的对话框选择ldquo确定rdquo即可重启多个MongoDB实例

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 51102

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 52: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置升降级配置升降级

选中MongoDB实例在操作项中点击配置升降级进升降级操作

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 52102

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 53: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

操作志管理操作志管理

查看志查看志

选中MongoDB实例在详情中选择ldquo操作志rdquo即可查看实例操作(创建启动重启删除等)志记录

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 53102

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 54: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

实例管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 54102

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 55: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

备份管理备份管理

数据备份数据备份

备份分为动备份和动备份两种动备份每天进次例备份(备份可以保存7天)

MongoDB持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 55102

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 56: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

备份下载备份下载

可以下载动备份和备份成的备份件要查看所有MongoDB实例的备份件请点击左侧导航栏的ldquo备份管理rdquo

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 56102

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 57: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

要查看对应MongoDB实例的备份件请选择对应的MongoDB实例在详情点击ldquo备份管理rdquo即可打开MongoDB实例备份列表点击下载即可弹出下载框进下载

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 57102

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 58: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

备份创建备份创建MongoDB实例实例

可以选择备份件列表中的ldquo从备份创建rdquo即可从备份创建MongoDB实例初始化时间取决于数据量注意备份件压缩为51建议创建时的磁盘空间为备份件的5倍以上

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 58102

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 59: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

备份管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 59102

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 60: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置件管理配置件管理

配置件是MongoDB实例启动所需的重要组成涉及相关的参数配置MongoDB实例都需要使特定的配置件UCloud提供默认配置件默认配置件不可以修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 60102

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 61: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

导配置件导配置件

除了系统提供的默认配置件外也可以将现有的配置件导上传到MongoDB实例中以便让申请的MongoDB实例可以使该配置点击配置件边上的ldquo导rdquo按钮在弹出的输框中填写ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并选择本地的配置件点击确定后即可完成上传

创建配置件创建配置件

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 61102

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 62: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

除导配置件外也可以直接在配置件管理创建配置件点击ldquo创建rdquo按钮在弹出对话框中输ldquo配置名称rdquoldquo描述rdquoldquoDB类型rdquo并且可以选择从哪个现有配置中进复制点击ldquo确定rdquo后即可完成配置件的创建操作

查看配置件查看配置件

在配置件列表中选择指定的配置件在ldquo参数列表rdquo栏中可以查看其当前的所有参数项

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 62102

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 63: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

ldquo使该配置的数据库rdquo栏则显哪些MongoDB使了该配置件

编辑配置件编辑配置件

在配置件列表中选择指定的配置件在参数列表中可以查看其当前的所有参数项点击ldquo编辑rdquo可以进编辑修改参数值

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 63102

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 64: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 64102

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 65: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

注意默认配置件不允许编辑修改如果需要在默认配置件的基础上进修改可以选择将默认配置件另存为新配置件创建成功后即可在新配置件上进定义修改

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 65102

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 66: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

删除配置件删除配置件

配置件持删除操作在配置件列表选中需要删除的配置件选中删除即可完成删除操作注意默认配置件不可删除

更改配置件更改配置件

对于MongoDB实例可以更改其配置件MongoDB实例创建时选择了默认配置可以将其配置件更改为定义配置选中MongoDB实例在操作项选择ldquo修改配置件rdquo在弹出的对话框中选择需要更改的配置件即可

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 66102

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 67: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

注意修改配置件需要在重启实例后效MongoDB实例的配置件分为configsvr和shardsvrMongoDB实例不可交叉使两种配置件例如已使configsvr的MongoDB实例不可以使shardsvr

配置件管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 67102

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 68: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

志管理志管理

志分类志分类

MongoDB实例的志持错误志(ErrorLog)和慢查询志(SlowLog)错误志(ErrorLog)是记录MongoDB实例服务进程在启动关闭或运过程中遇到的错误信息

志下载志下载

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 68102

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 69: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

在详情中选择志管理点击打包志在弹窗中选择打包志即可打包错误志(ErrorLog)和慢查询志(SlowLog)志包列表中点击下载即可对志包进下载

清理志清理志

选中MongoDB实例在详情中选择志管理点击清理志在清理志弹窗选择清理的时间为了保证数据库同步安全前仅持清理到当前时间前天的志

查询志查询志

选中MongoDB实例在详情中选择志管理点击开始查询

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 69102

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 70: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

志管理 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 70102

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 71: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

客户场景客户场景

1在应服务器的志记录查找起来本灵活导出也很便也是给应练从外围系统开始使MongoDB2在些第三信息的获取或者抓取因为MongoDB的schema-less所有格式灵活不为了各种格式不样的信息专设计统的格式极得减少开发的作3主要来存储些监控数据No schema 对开发员来说真的很便增加字段不改表结构且学习成本极低4使MongoDB做了O2O快递应将送快递骑快递商家的信息(包含位置信息)存储在 MongoDB然后通过 MongoDB 的地理位置查询这样很便的实现了查找附近的商家骑等功能

客场景 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 71102

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 72: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

业应业应

游戏业游戏业

游戏需求变化很快MongoDB特别适游戏后端数据库固定schema的模式可以免去变更表结构的痛苦幅度缩短版本迭代周期可以将MongoDB当作缓存服务器使合理规划热数据其性能与其他常缓存服务器相当同时还为您提供更丰富的查询式使 MongoDB 存储游戏信息的装备积分等直接以内嵌档的形式存储便查询更新

物流业物流业

使 MongoDB 存储订单信息订单状态在运送过程中会不断更新以 MongoDB 内嵌数组的形式来存储次查询就能将订单所有的变更读取出来

社交业社交业

使 MongoDB 存储存储信息以及发表的朋友圈信息通过地理位置索引实现附近的地点等功能

物联业物联业

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 72102

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 73: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

物联领域的终端设备例如医疗仪器运输业辆GPS等可以轻易且持续的产TB级的数据云数据库MongoDB分技术可构建分布式数据库集群达到上限的容量存储同时也便在线扩容使 MongoDB 存储所有接的智能设备信息以及设备汇报的志信息并对这些信息进多维度的分析

视频直播业视频直播业

使 MongoDB 存储信息礼物信息等

移动业移动业

移动类APP都有位置查询的业务需求云数据库MongoDB持维空间索引可以便查询地理位置关系和检索地理位置数据可实现基于地理位置系统的地图应

业应 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 73102

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 74: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试基准测试

MongoDB 26 测试数据测试数据

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 74102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 75: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 75102

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 76: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

MongoDB 30 测试数据测试数据

WiredTiger

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 76102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 77: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 77102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 78: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 78102

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 79: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

MMapv1

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 79102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 80: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 80102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 81: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 81102

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 82: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

基准测试 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 82102

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 83: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

产品价格产品价格

1 计费公式计费公式

实例节点费=(内存规格times内存单价+硬盘规格times硬盘单价)times购买时副本集费=Primary节点费+Secondary节点费 说明Arbiter节点免费分集群费=Mongos(路由节点)费+数据分(副本集)费 说明34及以上版本分集群配置节点免费

2 内存内存

(单位元GB)内存单价

内存规格内存规格 北京北京 上海上海 东东 杭州杭州台北台北 雄雄 港港 华盛顿华盛顿 雅加达雅加达 新加坡新加坡 尔尔融云融云

1GB 90 90 90 1755

2GB 90 90 90 1755

4GB 90 90 90 1755

6GB 90 100 100 1755

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 83102

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 84: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

8GB 80 100 100 1755

12GB 80 100 100 1755

16GB 80 100 100 1755

24GB 80 100 100 1755

32GB及以上 65 80 80 1755

3 硬盘硬盘

(单位元GB)硬盘单价

数据中数据中 北京北京 上海上海 东东 杭州杭州港港 加州加州 华盛顿华盛顿 雅加达雅加达 尔尔 新加坡新加坡融云融云

标准盘 04 063 04 - 078

SSD盘 08 15 15 15 182

产品价格 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 84102

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 85: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

FAQs

MongoDB实例功能和开源实例功能和开源MongoDB有区别吗有区别吗

MongoDB实例和原MongoDB完全致

MongoDB实例是否使物理机搭建实例是否使物理机搭建

MongoDB实例使物理机搭建并采性能磁盘以及使RAID1确保数据安全

MongoDB的安全性如何的安全性如何

访问安全性访问安全性

MongoDB实例仅持通过云主机进内登陆且按账进隔离因此仅有同账的云主机能够对MongoDB实例进登录MongoDB实例是强制鉴权的只能通过认证的

数据安全性数据安全性

所有的MongoDB实例的数据件所存放的硬盘都进了RAID1保护

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 85102

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 86: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

MongoDB实例每天都会进数据备份同时也提供了备份功能以便能够在特定时间点主动对数据进备份MongoDB实例(Master)持创建从库(搭建在与主库不同的物理机上)从库与主库动进数据同步提供数据灾备的能

如何备份与恢复如何备份与恢复

MongoDB实例持动备份可以保存某些关键时间点的重要数据备份当前备份的允许保留个数为3个如果超过3个会动删除最早的动备份创建动备份时只需要输备份名称后台会刻开始进备份作备份可以下载本地或云主机如果要恢复MongoDB实例建议先将备份件下载本地由专业员确认误后导MongoDB实例中以规避数据险

MongoDB实例类型有哪些实例类型有哪些

满可和平扩展的要求持单点副本集分集群的多种架构演进所有的数据节点都是内置副本集的即使单点也是个副本集所以副本集按类型划分可以细分为单点副本集和多点副本集其中单点副本集只包含个primary多点副本集包含个primary和若个secondary或者arbiter关于副本集可参考httpdocsmongodborgmanualcorereplica-set-members

怎么查看怎么查看MongoDB的统计信息的统计信息

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 86102

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 87: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

MongoDB实例管理可以查看统计信息

MongoDB集群包括哪些组件集群包括哪些组件

集群按规模可以划分为两种副本集个primary+若个secondary+若个arbiter副本集提供可特性分集群具有分功能的多副本集的分布式架构持scale-out特性其中每个分指的就是副本集集群包括个或多个分(数据存储)个或三个configsvr(集群元数据管理)和个或多个Mongos(路由)当产环境的数据规模性能或载荷等因素超过单副本集的限制建议启分产环境完整的分集群架构包括分集群的基本概念可参考httpdocsmongodborgmanualcoresharding

配置件有哪些配置件有哪些

提供两个默认配置件分别是shardsvr默认配置件和configsvr默认配置件它们于创建不同类型的实例其中shardsvr配置件持单点副本集多点副本集sharding的分服务器实例configsvr配置件持sharding的配置服务器实例可以从默认配置件修改配置参数另存为定义的配置件供这些实例使

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 87102

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 88: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

如何创建如何创建secondary和和arbiter

1持键创建三节点副本集如果需要更多节点根据需求可以增加法如下进控制台MongoDB实例管理选中primary节点在右边的弹框中选中ldquo创建节点rdquo按钮进创建

2在ldquo创建节点rdquo的弹框中选择节点类型secondary或arbiter创建完成后新增节点将按指定的加到primary节点的副本集中同个副本集的所有节点共享相同的管理员账号和密码

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 88102

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 89: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

如何使鉴权如何使鉴权

从数据安全性和可维护等度MongoDB实例是强制鉴权的所有实例均采keyfile认证等效于auth=trueMongoDB实例的管理员账号和密码是申请时所填写的管理员名和密码MongoDB实例统使keyfile

ymSs7YgMlxlMMTR9K3B6eKyopWD98MX1KIuySyI8Kk1Coqw1sYZp2Nh4nN5yrul+0J21pIpNOzXU3Mbbl2zihFqMEkofAWJPeORzZd2VR0c2rwHG4xxuxNRFOK3BS

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 89102

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 90: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

TTSIyAgMfnBVTPwC671E18SJi3rRohfGxy8NveipsZCqTTRDVcGXKqFf4i3vBRLXil+it1oxPb63ayjYJ7Uz1piVQQRtHlD+KzUEaTzhlCW9Da8xhq1Lm2bxNUWovltDfJ

Syke+a+a1OlbpGTYwD5WeYINbGYYbJMpC1P6ELCQ2kD1cDyae7WNLcDO3ICJSOvGigKIGo3om5M8CeiUJxHA67RkJak2idSlXOopIEdjjAxtFRPWaF8jEoMgtOSty2

OQMBpBYDYcwgRRFL8+fQQvHd1c6sQoXUoN1JbBqhtNxpvlm05keinIP9Al+EeIA1itZjUBcjC5zZgAAPHbXe803TosCupqjS2W6K8MBEOUg+42u4r8g4Sp2LKdbqqd

za1PlBHFQmExSz2pAN61DwZPKjMlBArlCpa5Kk44DzOc9Lc3bW51AdieG5xFad6d9qS0LLFFeG4tB5HcbUCCKWkVdUM5ocCb0TTRfJ2KNTRaJUTfKq4WLCe1zrIeHC

vQIbKVJLgyo3HHgse331daqVRm+rAAPWwgXVKbo+XfYkS28ftDMOA6spIN1Vsba+UGdLjGFiq40xLSCA5z0RvB88oYouuyw16VAQuv1JzUk4tzZ9f5Snr1MlyI5rrjO

6DZeDT3WYOK9TGRDshWHuVjDCtvDTYPjACy0Jy4Uhikze+pz9gAUbmJNUeU14CZb5EA1mkICjpbIJigG1lduERa1g5OFv3cS4UIyh8VzE11rjVdLva0Fq58w713kO6t

40xG2QWbpTXD5VWVH7j0Uq4QX3xSUPvCzIrcGXV0whPRM93BGCgEZVIkdOfDv2+VGDMDmL3mWyJ8ysjaN1VOnf

如何访问如何访问MongoDB实例实例

申请MongoDB实例后会获取个IP和Port

命令操作命令操作

登录云主机在命令中输

mongo --host $ip --port $port --authenticationDatabase $db --username $admin --password $admin_passwd

例如

mongo --host 1041280 --port 27017 --authenticationDatabase admin --username root --password root

或者

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 90102

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 91: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

mongo $ip$port$db -u $admin -p $admin_passwd

例如

mongo 104128027017admin -u root -p root

API操作操作

可以使开源的MongoDB API库来连接MongoDB出于安全性考虑MongoDB仅能在内进访问

如何访问业务如何访问业务MongoDB

因为在MongoDB安全机制作下刚开始是法直连业务db的否则直提权限这时需要通过以下步骤1登录到admin库2切换到业务db如game3使createUser(26版本及更新版本持)或者 addUser(24版本持)新增4使mongo客端连接到业务库如

mongo 104128027017game -u root -p root

MongoDB的26版本开始对安全机制做了较多改进具体法可以参 注意的概念httpdocsmongodborgmasterreferencemethoddbcreateUser

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 91102

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 92: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

24版本httpdocsmongodborgv24referencemethoddbaddUserdbaddUser

如何搭建分集群如何搭建分集群

前UCloud持shardsvrconfigsvr和mongos可以在控制台申请

如何访问如何访问shardsvr如何访问如何访问configsvr如何连接集群如何连接集群

访问shardsvrconfigsvr连接集群的式与连接mongodb实例的式致

mongo $mongos-ip$mongos-portadmin -u $admin -p $admin_password

注意这使的管理员和密码是configsvr统采的管理员和密码如

mongo 10445027017admin -u root -p root

如何开启分如何开启分

搭建分集群和启分是前后两个步骤搭建分集群是基础启分才真正开始均衡分的数据分布步骤包括

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 92102

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 93: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

1启动mongos2使客端mongo连接到mongos3使shaddShard注册分法参httpdocsmongodborgmanualreferencemethodshaddShard

4使shenableSharding启某个库的分功能法参httpdocsmongodborgmanualreferencemethodshenableSharding

5使shshardCollection均衡某个集合的数据分布注意选择合理的键法 参httpdocsmongodborgmanualreferencemethodshshardCollection

6使shstatus查看集合的数据分布法参httpdocsmongodborgmanualreferencemethodshstatus

如何迁移数据到如何迁移数据到MongoDB

可以通过以下法迁移数据到MongoDB包括1使mongodump和mongorestore具导出源数据再导到副 本集的primary或者分集群的mongos2如果源db是部署在uhost上可以在内通过副本集的复制机制同步数据到UCloud的MongoDBMongoDB的内存是如何管理的内存是如何管理

MongoDB使mmap管理内存内存使率经常是100也有时候经过备份 操作(动备份和动备份)内存也会即升到100通常情况下需担内存上升后通常情况下是不会主动释 放的如果是平时的作载荷内存使出现瓶颈建议是在线升级内存

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 93102

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 94: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

MongoDB的磁盘是如何管理的磁盘是如何管理

MongoDB采预分配机制分配件于存放数据dropremove compact等操作是不会释放磁盘空间的但是可以使预分配的空间重如果磁盘使率过这时候需要注意 是否会100如果磁盘空间使率接近100建议采以下法克服1升级磁盘2创建secondary通过复制式将数据从primary同步到 secondary这时候secondary的存储空间往往会较些然后执次主从切换3修复db执dbrepairDatabase这会阻塞住整个实例的读写服务不建议使

如何管理和查看慢查询如何管理和查看慢查询

在业务库执dbsetProfilingLevel()启动和关闭慢查询法参httpdocsmongodborgmanualreferencemethoddbsetProfilingLevel

执dbgetProfilingStatus()查看慢查询设置状态执dbsystemprofilefind() 查看收集到的慢查询有助于查询优化的作怎么查到怎么查到MongoDB的统计信息的统计信息

统计可以在 MongoDB管理看到包括CPU使率内存使内存使率连接数各类QPS指标等如何使如何使mongostat监控监控

mongostat是官提供的种监控具使法是

mongostat -h $ip --port $port --authenticationDatabase admin -u $admin -p $admin_password --discover

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 94102

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 95: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

mongostat -h 104450 --port 27017 --authenticationDatabase admin -u root -p root --discover

如何查看副本集属性信息与同步状态如何查看副本集属性信息与同步状态

使客端mongo连接到primary节点执命令rsstatus()查 看副本集属性其中ldquosetrdquo字段是副本集的id执命令rsprintReplicationInfo() 查看oplog的使情况使客端mongo连接到 secondary节点执命令rsprintSlaveReplicationInfo()查看与primary节点的同 步状态可以看到是否落后primary

如何使如何使API创建创建Mongos

如果 uhost建mongos较烦也可以通过API调来创建mongos具体法可以参 CreateUDBRouteInstance如何实现跨机房热迁移如何实现跨机房热迁移MongoDB

要求是将 MongoDB从X机房热迁移Y机房基本原理是将Y机房的MongoDB实例加到X机房MongoDB的副本集中通过复制的式迁移数据同步完成后提升Y机房的MongoDB

实例为primary节点为保证迁 移过程不会出现单点故障或者法选举primary等导致不可要求X机房的MongoDB副本集是多点的节点数维持奇数个在热迁移完成之前不能停机确保应层链接db并使固定ip是驱动MongoDB官可以查看如何连接副本集利可特性过 程包括在Y机房创建个primary节点在Y机房的primary节点创建若个从节点或者仲裁节点联系我们提供协助将Y机房的所有db实例加到X机房的副本集

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 95102

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 96: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

观察Y机房db的同步状态如果完成后则可以对副本集重置提升Y机房的某个节点为新primary节点登陆到Y机房的新primary节点重置副本集逐台remove X机房的db实例按需要完成迁移后可以在控制台删除X机房的db实例

利利HAproxy外访问外访问UDB-MONGO

与使MySQL-Proxy使UDB-MYSQL能够被外访问样可以通过使HAproxy来使UDB-MONGO被外进访问具体流程如下

安装HAproxy

yum install -y haproxy

根据如下内容修改配置件默认的配置件路径 etchaproxyhaproxycfg

global

log 127001 local2

chroot varlibhaproxy

pidfile varrunhaproxypid

maxconn 4000

user haproxy

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 96102

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 97: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

group haproxy

daemon

stats socket varlibhaproxystatsdefaults

defaults

log global

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen mongod

bind uhost-ip27017

mode tcp

balance roundrobin

server mongo1 mongodb-ip27017

listen mongo-web

bind uhost-ip28017

mode http

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 97102

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 98: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

balance roundrobin

server mongo1 mongodb-ip28017

配置中的uhost-ip为云主机的内IPmongodb-ip为UDB-MONGO的内IP

重启服务

service haproxy restart

chkconfig haproxy on

在防墙中开启相应端在这个配置中由于外客端需要通过27017和28017端访问haproxy所在的UHost的机器(参考配置中两bind语句)请编辑这台UHost机器所属的防墙配置放开端27017

和28017的访问限制通过公连接MongoDB

mongo uhost-eip27017admin -u root -p

公访问MongoDB的WEB控制台地址httpuhost-eip28017

在云主机上使在云主机上使wget下载云数据库的下载云数据库的Log时报错如何解决时报错如何解决

在云主机上下载云数据云数据库的Log备份时需要在url前后加上双引号例下载地址为httpudbbackupufileucloudcnudb-3u022a

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 98102

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 99: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

wget -O ppptgz httpudbbackupufileucloudcnudb-3u022a

-O 设置本地名称

如何修改如何修改local库的库的

旦DB申请成功后不再持修改oplogSize的只持申请DB之前修改如果是普通的sharding server我们UDB的默认local库是5G如果您需要设置成指定的可以在新建MongoDB时前先新建个定义配置件修改oplogSize来设置并使该定义配置件来创建DB如果写操作较频繁建议根据申请的磁盘容量适当调oplogSize的如果是config server系统会默认成个概M的local库即使申请DB阶段设置local库也效

如何查询如何查询MongoDB实例的服务器端版本和其他安装信息实例的服务器端版本和其他安装信息

登陆Mongo shell运如下指令查看

udb-testPRIMARYgt dbserverBuildInfo()

version 249

gitVersion 52fe0d21959e32a5bdbecdc62057db386e4e029c

sysInfo Linux ip-10-2-29-40 26217-2ec2v12fc8xen 1 SMP Fri Nov 20 174828 EST 2009 x86_64 BOOST_LIB_VERSION=1_49

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 99102

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 100: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

loaderFlags -fPIC -pthread -rdynamic

compilerFlags -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-

pch -Werror -pipe -fno-builtin-memcmp -O3

allocator tcmalloc

versionArray [2 4 9 0]

javascriptEngine V8

bits 64

debug false

maxBsonObjectSize 16777216

ok 1

mongoDB-32备份件解压备份件解压

linux环境mongoDB-32的备份件为tgz格式解压时执如下命令

gunzip -c xxxxxxxxxxtgz gt xxxxxxxmongoarchive

动恢复的命令如下

mongorestore -h lthostgt -u ltusergt -p ltpwdgt --archive=xxxxxxxmongoarchive

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 100102

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 101: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

Windows环境下载的mongoDB-32的备份件的后缀名是tgz将后缀名改为mongoarchivegz然后再通过解压软件解压缩

如何连接如何连接MongoDB云数据库云数据库

连接副本集连接副本集

如果MongoDB采的是副本集式那么连接MongoDB时需要设置个正确的连接URI这样后续Primary节点宕机才可以成功的进漂移应层需变更连接设置动具有可各类语的驱动都持URI连接般副本集连接的URI字符串格式如下包括账密码和副本集各个节点的IP和端

URI mongodbuserpasswordip1port1ip2port2hellip

假如URI的内容如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

那么正确的连接式是

client=MongoClient(mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test)

MongoDB只持在Primary节点上进写操作不过读操作可以有以下种客可以根据业务需求选择合适的读取策略primary默认设置所有的读操作都在Primary节点primaryPreferred优先读取Primary节点Primary不可的话读取Secondary节点

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 101102

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群
Page 102: 云数据库 MongoDB - UCloud · MongoDB⽬前⽀持MongoDB 2.4、MongoDB 2.6、MongoDB 3.0、MongoDB 3.2、MongoDB3.4、MongoDB 3.6和MongoDB 4.0,⽤⼾可以根据需求选择相应的云数据库版本。

secondary所有的读操作都读取Secondary节点secondaryPreferred优先读取SecondarySecondary不可的情况下读取Primary

nearest读取络延迟最低的节点举个例假如需要实现读写分离即优先读取Secondary节点连接超时为500ms那么URI配置如下

mongodbuclouderedFO09SkdU10957241270171094011227017109354527017test

connectTimeoutMS=500ampreadPreference=secondaryPreferred

连接分集群连接分集群

连接到分集群的式和连接到普通MongoDB实例的式完全相同不过当存在多个mongos实例的情况下即使URI写全了mongos实例的IP也法动做到mongos本的可和负载均衡通常这个可以通过搭建HaProxy或者LVS的式实现 假设存在三个mongos节点分别为IP1IP2IP3HaProxy的代理IP为IP4采简单的roundrobin轮询策略则连接URI举例如下

mongodbuclouderedFO09SkdUIP427017testconnectTimeoutMS=500ampreadPreference=secondaryPreferred

FAQs 云数据库 MongoDB UDB

Copyright copy 2012-2021 UCloud 优刻得 102102

  • 目录
  • 概览
  • 什么是云数据库MongoDB
  • 主要概念
    • 实例类型
    • 节点
    • 数据库机型
    • 版本
    • 副本集
    • 分片集群
    • 内存
    • 硬盘
    • 付费方式
    • 数量
    • 配置文件
    • 管理员
    • 实例名称
    • 资源ID
    • IP和端口
    • 备份
    • 日志
      • 产品优势
        • 性能出色
        • 灵活备份
        • 数据安全
        • 管理便捷
        • 兼容性强
        • 弹性扩展
          • 规格版本
            • 产品版本
            • 各版本新功能介绍
              • 一键副本集
              • 扩展副本集
              • 如何通过副本集模式连接
                • 介绍
                • 格式
                • 例子
                  • 备注
                    • 使用副本集连接模式实现ldquo读写分离rdquo
                    • 参考文档
                      • 配置节点
                      • 构建分片集群
                      • 副本集架构
                      • 分片集群架构
                      • 实例管理
                        • 基本操作
                          • 启动MongoDB实例
                          • 关闭MongoDB实例
                          • 重启MongoDB实例
                          • 删除MongoDB实例
                          • 单个和批量MongoDB实例操作
                            • 配置升降级
                            • 操作日志管理
                              • 查看日志
                                  • 备份管理
                                    • 数据备份
                                    • 备份下载
                                    • 备份创建MongoDB实例
                                      • 配置文件管理
                                        • 导入配置文件
                                        • 创建配置文件
                                        • 查看配置文件
                                        • 编辑配置文件
                                        • 删除配置文件
                                        • 更改配置文件
                                          • 日志管理
                                            • 日志分类
                                            • 日志下载
                                            • 清理日志
                                            • 查询日志
                                              • 客户场景
                                              • 行业应用
                                                • 游戏行业
                                                • 物流行业
                                                • 社交行业
                                                • 物联网行业
                                                • 视频直播行业
                                                • 移动行业
                                                  • 基准测试
                                                    • MongoDB 26 测试数据
                                                    • MongoDB 30 测试数据
                                                      • 产品价格
                                                        • 1 计费公式
                                                        • 2 内存
                                                        • 3 硬盘
                                                          • FAQs
                                                            • MongoDB实例功能和开源MongoDB有区别吗
                                                            • MongoDB实例是否使用物理机搭建
                                                            • MongoDB的安全性如何
                                                              • 访问安全性
                                                              • 数据安全性
                                                                • 如何备份与恢复
                                                                • MongoDB实例类型有哪些
                                                                • 怎么查看MongoDB的统计信息
                                                                • MongoDB集群包括哪些组件
                                                                • 配置文件有哪些
                                                                • 如何创建secondary和arbiter
                                                                • 如何使用鉴权
                                                                • 如何访问MongoDB实例
                                                                  • 命令行操作
                                                                  • API操作
                                                                    • 如何访问业务MongoDB
                                                                    • 如何搭建分片集群
                                                                    • 如何访问shardsvr如何访问configsvr如何连接集群
                                                                    • 如何开启分片
                                                                    • 如何管理和查看慢查询
                                                                    • 如何使用API创建Mongos
                                                                    • 利用HAproxy外网访问UDB-MONGO
                                                                    • 在云主机上使用wget下载云数据库的Log时报错如何解决
                                                                    • 如何修改local库的大小
                                                                    • 如何查询MongoDB实例的服务器端版本和其他安装信息
                                                                    • mongoDB-32备份文件解压
                                                                    • 如何连接MongoDB云数据库
                                                                      • 连接副本集
                                                                      • 连接分片集群