Files
iot-dc3/docs/cluster/mongo.html
T
2023-04-14 00:38:49 +08:00

314 lines
49 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
/>
<title>Mongo 集群部署 | IoT DC3</title>
<meta name="description" content="" />
<meta name="generator" content="VuePress 1.9.9" />
<link rel="icon" href="/assets/images/favicon.ico">
<script type="text/javascript" src="/assets/js/push.js"></script> <meta name="description" content="DC3是一个基于Spring Cloud的开源的、分布式的物联网(IOT)平台,用于快速开发物联网项目和管理物联设备,是一整套物联系统解决方案。">
<meta name="referrer" content="never">
<meta name="keywords" content="iot,dc3,DC3,iotdc3,iot dc3,IOTDC3,IoTDC3,IOT DC3,IoT DC3,物联网,开源,分布式,物联网平台,IOT平台"> <link rel="preload" href="/assets/css/0.styles.116dcc83.css" as="style"><link rel="preload" href="/assets/js/app.7dfefe51.js" as="script"><link rel="preload" href="/assets/js/2.a8b8915e.js" as="script"><link rel="preload" href="/assets/js/10.db658154.js" as="script"><link rel="prefetch" href="/assets/js/11.287152fd.js"><link rel="prefetch" href="/assets/js/12.08136beb.js"><link rel="prefetch" href="/assets/js/13.83b3d580.js"><link rel="prefetch" href="/assets/js/14.d5387cec.js"><link rel="prefetch" href="/assets/js/15.aafb2a89.js"><link rel="prefetch" href="/assets/js/16.01fcc650.js"><link rel="prefetch" href="/assets/js/17.a097fd52.js"><link rel="prefetch" href="/assets/js/18.acd93e71.js"><link rel="prefetch" href="/assets/js/19.6f12b224.js"><link rel="prefetch" href="/assets/js/20.bac69ff1.js"><link rel="prefetch" href="/assets/js/21.9105165e.js"><link rel="prefetch" href="/assets/js/22.de1f017c.js"><link rel="prefetch" href="/assets/js/23.fb20a8f5.js"><link rel="prefetch" href="/assets/js/24.6459dc88.js"><link rel="prefetch" href="/assets/js/25.0587cb23.js"><link rel="prefetch" href="/assets/js/26.b6254386.js"><link rel="prefetch" href="/assets/js/27.479148c7.js"><link rel="prefetch" href="/assets/js/28.da247a59.js"><link rel="prefetch" href="/assets/js/29.f175dd67.js"><link rel="prefetch" href="/assets/js/3.8e04da2b.js"><link rel="prefetch" href="/assets/js/30.5ba7a495.js"><link rel="prefetch" href="/assets/js/31.01c3d218.js"><link rel="prefetch" href="/assets/js/32.de0e0ff7.js"><link rel="prefetch" href="/assets/js/33.0e117d4a.js"><link rel="prefetch" href="/assets/js/34.010094c5.js"><link rel="prefetch" href="/assets/js/35.8a377a71.js"><link rel="prefetch" href="/assets/js/36.fbb64a47.js"><link rel="prefetch" href="/assets/js/37.c2b9d4da.js"><link rel="prefetch" href="/assets/js/38.a66be625.js"><link rel="prefetch" href="/assets/js/39.76e387bc.js"><link rel="prefetch" href="/assets/js/4.470d098a.js"><link rel="prefetch" href="/assets/js/40.0e9ee726.js"><link rel="prefetch" href="/assets/js/41.e68f3c2e.js"><link rel="prefetch" href="/assets/js/42.ba03ba76.js"><link rel="prefetch" href="/assets/js/43.e6a91a35.js"><link rel="prefetch" href="/assets/js/44.9304b041.js"><link rel="prefetch" href="/assets/js/45.586518cf.js"><link rel="prefetch" href="/assets/js/46.ab599c67.js"><link rel="prefetch" href="/assets/js/47.dc2d8aff.js"><link rel="prefetch" href="/assets/js/48.06e9c64e.js"><link rel="prefetch" href="/assets/js/49.627cc127.js"><link rel="prefetch" href="/assets/js/5.0f4aedb8.js"><link rel="prefetch" href="/assets/js/50.bf665f72.js"><link rel="prefetch" href="/assets/js/51.08e5dea0.js"><link rel="prefetch" href="/assets/js/52.8e37a9c4.js"><link rel="prefetch" href="/assets/js/53.8c472224.js"><link rel="prefetch" href="/assets/js/54.bb582a52.js"><link rel="prefetch" href="/assets/js/55.640d9ecb.js"><link rel="prefetch" href="/assets/js/56.e2e2a21e.js"><link rel="prefetch" href="/assets/js/57.9b9b26a7.js"><link rel="prefetch" href="/assets/js/58.0d4a46c3.js"><link rel="prefetch" href="/assets/js/59.d1f11d32.js"><link rel="prefetch" href="/assets/js/6.547754b6.js"><link rel="prefetch" href="/assets/js/7.aea1a047.js"><link rel="prefetch" href="/assets/js/8.f35f3888.js"><link rel="prefetch" href="/assets/js/9.3f13bdbf.js"> <link rel="stylesheet" href="/assets/css/0.styles.116dcc83.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="ant-row"><div class="nav-button"><i aria-label="icon: bars" class="anticon anticon-bars"><svg viewBox="0 0 1024 1024" focusable="false" data-icon="bars" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z"></path></svg></i> <span></span></div> <div class="ant-col ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-6 ant-col-xl-5 ant-col-xxl-4"><a href="/" class="router-link-active home-link"><img src="/assets/images/logo.png" alt="IoT DC3" class="logo"> <span class="site-name">IoT DC3</span></a> <div class="search-box mobile-search"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div></div> <div class="nav-space-between ant-col ant-col-xs-0 ant-col-sm-0 ant-col-md-18 ant-col-lg-18 ant-col-xl-19 ant-col-xxl-20"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><ul role="menu" id="nav" class="ant-menu ant-menu-horizontal ant-menu-root ant-menu-light"><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="display:none;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-item"><a href="/" class="router-link-active">
首页
</a></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="display:none;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-item"><a href="/docs/" class="router-link-active">
指南
</a></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="display:none;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-item"><a href="/config/">
配置
</a></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="display:none;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-item"><a href="/faq/">
FAQ
</a></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="display:none;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>
代码仓库
</span><i class="ant-menu-submenu-arrow"></i></div></li><li role="menuitem" class="ant-menu-submenu ant-menu-submenu-horizontal ant-menu-overflowed-submenu" style="visibility:hidden;position:absolute;"><div aria-haspopup="true" class="ant-menu-submenu-title"><span>···</span><i class="ant-menu-submenu-arrow"></i></div></li></ul> <ul class="extra-group"><!----> <!----></ul></nav></div></div> <!----></header> <aside class="sidebar"><!----> <ul class="sidebar-links"><li><a href="/docs/" aria-current="page" title="简介" class="sidebar-link">简介</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>开发指南</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/code/0-environment.html" title="注意事项" class="sidebar-link">注意事项</a></li><li><a href="/docs/code/1-idea-start.html" title="必要软件环境" class="sidebar-link">必要软件环境</a></li><li><a href="/docs/code/2-web-ui.html" title="构建 IoT DC3 Web UI" class="sidebar-link">构建 IoT DC3 Web UI</a></li><li><a href="/docs/code/3-quick-start.html" title="快速启动" class="sidebar-link">快速启动</a></li><li><a href="/docs/code/4-start.html" title="🚀最佳实践" class="sidebar-link">🚀最佳实践</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>操作手册</span> <span class="arrow right"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>功能说明</span> <span class="arrow right"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>驱动使用说明</span> <span class="arrow right"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>相关文档</span> <span class="arrow right"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>集群部署</span> <span class="arrow down"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/cluster/emqx.html" title="EMQ X 集群部署" class="sidebar-link">EMQ X 集群部署</a></li><li><a href="/docs/cluster/mongo.html" aria-current="page" title="Mongo 集群部署" class="active sidebar-link">Mongo 集群部署</a></li><li><a href="/docs/cluster/rabbitmq.html" title="RabbitMQ 集群部署" class="sidebar-link">RabbitMQ 集群部署</a></li><li><a href="/docs/cluster/redis.html" title="Redis 集群部署" class="sidebar-link">Redis 集群部署</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>错误</span> <span class="arrow right"><i aria-label="icon: down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></p> <!----></section></li><li><a href="/docs/update-log.html" title="更新日志&amp;&amp;开发计划" class="sidebar-link">更新日志&amp;&amp;开发计划</a></li><li><a href="/docs/about.html" title="关于项目" class="sidebar-link">关于项目</a></li></ul> </aside> <main class="page has-page-anchor"> <div class="theme-dc3-content content__default"><h2 id="mongo-集群部署"><code>Mongo</code> 集群部署 <a href="#mongo-集群部署" class="header-anchor">#</a></h2> <h3 id="_1-集群架构">1. 集群架构 <a href="#_1-集群架构" class="header-anchor">#</a></h3> <p><img src="/assets/images/dc3/cluster/mongo/mongo-1.png" alt=""></p> <blockquote><ul><li><code>mongos</code>:提供路由数据库集群请求的入口,所有的请求都通过 <code>mongos</code> 进行协调,不需要在应用程序添加一个路由选择器,<code>mongos</code> 自己就是一个请求分发中心,它负责把对应的数据请求转发到对应的 <code>shard</code> 服务器上。在生产环境通常有多 <code>mongos</code> 作为请求的入口,防止其中一个挂掉所有的 <code>mongodb</code> 请求都没有办法操作。</li> <li><code>config server</code>:为配置服务器,存储所有数据库元信息(路由、分片)的配置。<code>mongos</code> 本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。<code>mongos</code> 第一次启动或者关掉重启就会从 <code>config server</code> 加载配置信息,以后如果配置服务器信息变化会通知到所有的 <code>mongos</code> 更新自己的状态,这样 <code>mongos</code> 就能继续准确路由。在生产环境通常有多个 <code>config server</code> 配置服务器,因为它存储了分片路由的元数据,防止数据丢失!</li> <li>shard:分片(<code>sharding</code>)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡(数据迁移),从3.6版本开始,每个 <code>shard</code> 必须部署为副本集(<code>replica set</code>)架构。</li></ul></blockquote> <h3 id="_2-集群部署规划">2. 集群部署规划 <a href="#_2-集群部署规划" class="header-anchor">#</a></h3> <table><thead><tr><th style="text-align:center;"><code>name</code></th> <th style="text-align:center;"><code>ip</code></th> <th style="text-align:center;"><code>mongos</code></th> <th style="text-align:center;"><code>config server</code></th> <th style="text-align:center;"><code>shard cluster 1</code></th> <th style="text-align:center;"><code>shard cluster 2</code></th></tr></thead> <tbody><tr><td style="text-align:center;"><code>node-01</code></td> <td style="text-align:center;">127.0.0.1</td> <td style="text-align:center;">27090</td> <td style="text-align:center;">27080</td> <td style="text-align:center;">27117</td> <td style="text-align:center;">27217</td></tr> <tr><td style="text-align:center;"><code>node-02</code></td> <td style="text-align:center;">127.0.0.1</td> <td style="text-align:center;">27091</td> <td style="text-align:center;">27081</td> <td style="text-align:center;">27118</td> <td style="text-align:center;">27218</td></tr> <tr><td style="text-align:center;"><code>node-03</code></td> <td style="text-align:center;">127.0.0.1</td> <td style="text-align:center;">27092</td> <td style="text-align:center;">27082</td> <td style="text-align:center;">27119</td> <td style="text-align:center;">27218</td></tr></tbody></table> <blockquote><p><code>config server</code> 配置服务器建议部署为包含3个成员的副本集模式,出于测试目的,您可以创建一个单成员副本集;
<code>shard</code> 分片请使用至少包含三个成员的副本集。出于测试目的,您可以创建一个单成员副本集;
<code>mongos</code> 没有副本集概念,可以部署1个、2个或多个。</p></blockquote> <h3 id="_3-下载安装文件">3. 下载安装文件 <a href="#_3-下载安装文件" class="header-anchor">#</a></h3> <blockquote><p>下载文件</p></blockquote> <ul><li><p>以 <code>Ubuntu</code> 为例: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz</p></li> <li><p>其他系统下载:https://www.mongodb.com/try/download/community</p></li></ul> <blockquote><p>解压文件</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 解压</span>
<span class="token function">tar</span> zxvf mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz
</code></pre></div><blockquote><p>校验文件</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 进入 bin 目录,测试 mongod 是否可用</span>
<span class="token builtin class-name">cd</span> bin
./mongod <span class="token parameter variable">-h</span>
</code></pre></div><h3 id="_4-配置-shard-复制集">4. 配置 <code>shard</code> 复制集 <a href="#_4-配置-shard-复制集" class="header-anchor">#</a></h3> <h4 id="_4-1-创建文件目录">4.1 创建文件目录 <a href="#_4-1-创建文件目录" class="header-anchor">#</a></h4> <blockquote><p>分别创建两个复制集(<code>shard-cluster</code>)目录,多个以此类推 <code>shard-cluster-N</code></p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> /data
<span class="token function">mkdir</span> <span class="token parameter variable">-p</span> mongodb/dc3/shard-cluster-01 mongodb/dc3/shard-cluster-02
</code></pre></div><blockquote><p>为每个复制集创建三个分片 <code>node</code> 节点目录,多个以此类推 <code>node-N</code></p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> shard-cluster-N
<span class="token function">mkdir</span> node-01 node-02 node-03
</code></pre></div><blockquote><p>为每个分片节点创建配置、数据、日志和Key目录,其他节点操作一致</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> node-N
<span class="token function">mkdir</span> data etc keys logs
</code></pre></div><h4 id="_4-2-配置文件">4.2 配置文件 <a href="#_4-2-配置文件" class="header-anchor">#</a></h4> <blockquote><p>在每个分片节点的 <code>etc</code> 下添加配置文件 <code>mongo.conf</code></p></blockquote> <div class="language-yaml extra-class"><pre class="language-yaml"><code><span class="token key atrule">processManagement</span><span class="token punctuation">:</span>
<span class="token key atrule">fork</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">systemLog</span><span class="token punctuation">:</span>
<span class="token key atrule">destination</span><span class="token punctuation">:</span> file
<span class="token comment"># 指定 mongod 服务日志文件目录,其他节点以此类推</span>
<span class="token key atrule">path</span><span class="token punctuation">:</span> /data/mongodb/dc3/shard<span class="token punctuation">-</span>cluster<span class="token punctuation">-</span>01/node<span class="token punctuation">-</span>01/logs/mongodb.log
<span class="token key atrule">logAppend</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">storage</span><span class="token punctuation">:</span>
<span class="token key atrule">journal</span><span class="token punctuation">:</span>
<span class="token key atrule">enabled</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token comment"># 指定数存放的路径,其他节点以此类推</span>
<span class="token key atrule">dbPath</span><span class="token punctuation">:</span> /data/mongodb/dc3/shard<span class="token punctuation">-</span>cluster<span class="token punctuation">-</span>01/node<span class="token punctuation">-</span>01/data/
<span class="token key atrule">directoryPerDB</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token comment"># 选择存储引擎</span>
<span class="token key atrule">engine</span><span class="token punctuation">:</span> wiredTiger
<span class="token key atrule">wiredTiger</span><span class="token punctuation">:</span>
<span class="token key atrule">engineConfig</span><span class="token punctuation">:</span>
<span class="token comment"># 指定存储引擎的 cache 大小</span>
<span class="token key atrule">cacheSizeGB</span><span class="token punctuation">:</span> <span class="token number">20</span>
<span class="token key atrule">directoryForIndexes</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">collectionConfig</span><span class="token punctuation">:</span>
<span class="token key atrule">blockCompressor</span><span class="token punctuation">:</span> snappy
<span class="token key atrule">indexConfig</span><span class="token punctuation">:</span>
<span class="token key atrule">prefixCompression</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">net</span><span class="token punctuation">:</span>
<span class="token comment"># 设置 mongod 监听端口</span>
<span class="token key atrule">port</span><span class="token punctuation">:</span> <span class="token number">27117</span>
<span class="token comment"># 设置最大连接数</span>
<span class="token key atrule">maxIncomingConnections</span><span class="token punctuation">:</span> <span class="token number">10000</span>
<span class="token key atrule">bindIpAll</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">operationProfiling</span><span class="token punctuation">:</span>
<span class="token comment"># 设置慢日志时间</span>
<span class="token key atrule">slowOpThresholdMs</span><span class="token punctuation">:</span> <span class="token number">100</span>
<span class="token key atrule">mode</span><span class="token punctuation">:</span> slowOp
<span class="token comment"># 是否支持分片</span>
<span class="token key atrule">sharding</span><span class="token punctuation">:</span>
<span class="token key atrule">clusterRole</span><span class="token punctuation">:</span> shardsvr
<span class="token key atrule">archiveMovedChunks</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">replication</span><span class="token punctuation">:</span>
<span class="token key atrule">oplogSizeMB</span><span class="token punctuation">:</span> <span class="token number">10240</span>
<span class="token comment"># 表示这是 dc3_replica 集群的第一个分片</span>
<span class="token comment"># 该复制集中的所有 node 节点这个名字要一样</span>
<span class="token comment"># 如果是第二个复制集,这里可以取名 dc3_replica_2</span>
<span class="token key atrule">replSetName</span><span class="token punctuation">:</span> dc3_replica_1
<span class="token comment">#security:</span>
<span class="token comment"># # 指定 keyfile 位置,其他节点以此类推</span>
<span class="token comment"># keyFile: /data/mongodb/dc3/shard-cluster-01/node-01/keys/keyfile</span>
<span class="token comment"># clusterAuthMode: keyFile</span>
<span class="token comment"># authorization: enabled</span>
</code></pre></div><h4 id="_4-3-启动">4.3 启动 <a href="#_4-3-启动" class="header-anchor">#</a></h4> <div class="language-bash extra-class"><pre class="language-bash"><code>/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-01/node-01/etc/mongo.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-01/node-02/etc/mongo.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-01/node-03/etc/mongo.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-02/node-01/etc/mongo.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-02/node-02/etc/mongo.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/shard-cluster-02/node-03/etc/mongo.conf
</code></pre></div><h4 id="_4-4-分片-node-节点配置到-shard-复制集">4.4 分片 <code>node</code> 节点配置到 <code>shard</code> 复制集 <a href="#_4-4-分片-node-节点配置到-shard-复制集" class="header-anchor">#</a></h4> <blockquote><p>不同 <code>shard</code> 复制集中的分片节点操作一致</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 登录第一个复制集中任意一个分片 node 节点</span>
/usr/local/mongodb/bin/mongo <span class="token parameter variable">--port</span> <span class="token number">27117</span>
<span class="token comment"># 执行以下配置,注意 id、ip、port 配置无误</span>
config <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;dc3_replica_1&quot;</span>,
<span class="token string">&quot;members&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">0</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27117&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27118&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">2</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27119&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
rs.initiate<span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment"># 查看分片集中的节点状态</span>
rs.status<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment"># 退出</span>
<span class="token builtin class-name">exit</span>
---
<span class="token comment"># 登录第二个复制集中任意一个分片 node 节点</span>
/usr/local/mongodb/bin/mongo <span class="token parameter variable">--port</span> <span class="token number">27217</span>
<span class="token comment"># 执行以下配置,注意 id、ip、port 配置无误</span>
config <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;dc3_replica_2&quot;</span>,
<span class="token string">&quot;members&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">0</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27217&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27218&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">2</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27219&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
rs.initiate<span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment"># 查看分片集中的节点状态</span>
rs.status<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="_5-配置-config-server-集群">5. 配置 <code>config server</code> 集群 <a href="#_5-配置-config-server-集群" class="header-anchor">#</a></h3> <h4 id="_5-1-创建文件目录">5.1 创建文件目录 <a href="#_5-1-创建文件目录" class="header-anchor">#</a></h4> <blockquote><p>创建一个配置服务(<code>config-cluster</code>)目录</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> /data
<span class="token function">mkdir</span> <span class="token parameter variable">-p</span> mongodb/dc3/config-cluster
</code></pre></div><blockquote><p>为配置服务创建三个 <code>node</code> 节点目录,多个以此类推 <code>node-N</code></p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> mongodb/dc3/config-cluster
<span class="token function">mkdir</span> node-01 node-02 node-03
</code></pre></div><blockquote><p>为每个节点创建配置、数据、日志和Key目录,其他节点操作一致</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> node-N
<span class="token function">mkdir</span> data etc keys logs
</code></pre></div><h4 id="_5-2-配置文件">5.2 配置文件 <a href="#_5-2-配置文件" class="header-anchor">#</a></h4> <blockquote><p>在每个节点的 <code>etc</code> 下添加配置文件 <code>config.conf</code></p></blockquote> <div class="language-yml extra-class"><pre class="language-yml"><code><span class="token key atrule">processManagement</span><span class="token punctuation">:</span>
<span class="token key atrule">fork</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">systemLog</span><span class="token punctuation">:</span>
<span class="token key atrule">destination</span><span class="token punctuation">:</span> file
<span class="token comment"># 指定 mongod 服务日志文件目录,其他节点以此类推</span>
<span class="token key atrule">path</span><span class="token punctuation">:</span> /data/mongodb/dc3/config<span class="token punctuation">-</span>cluster/node<span class="token punctuation">-</span>01/logs/mongodb.log
<span class="token key atrule">logAppend</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">storage</span><span class="token punctuation">:</span>
<span class="token key atrule">journal</span><span class="token punctuation">:</span>
<span class="token key atrule">enabled</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token comment"># 指定数存放的路径,其他节点以此类推</span>
<span class="token key atrule">dbPath</span><span class="token punctuation">:</span> /data/mongodb/dc3/config<span class="token punctuation">-</span>cluster/node<span class="token punctuation">-</span>01/data/
<span class="token key atrule">directoryPerDB</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token comment"># 选择存储引擎</span>
<span class="token key atrule">engine</span><span class="token punctuation">:</span> wiredTiger
<span class="token key atrule">wiredTiger</span><span class="token punctuation">:</span>
<span class="token key atrule">engineConfig</span><span class="token punctuation">:</span>
<span class="token comment"># 指定存储引擎的 cache 大小</span>
<span class="token key atrule">cacheSizeGB</span><span class="token punctuation">:</span> <span class="token number">20</span>
<span class="token key atrule">directoryForIndexes</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">collectionConfig</span><span class="token punctuation">:</span>
<span class="token key atrule">blockCompressor</span><span class="token punctuation">:</span> snappy
<span class="token key atrule">indexConfig</span><span class="token punctuation">:</span>
<span class="token key atrule">prefixCompression</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">net</span><span class="token punctuation">:</span>
<span class="token comment"># 设置 mongod 监听端口</span>
<span class="token key atrule">port</span><span class="token punctuation">:</span> <span class="token number">27080</span>
<span class="token comment"># 设置最大连接数</span>
<span class="token key atrule">maxIncomingConnections</span><span class="token punctuation">:</span> <span class="token number">10000</span>
<span class="token key atrule">bindIpAll</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">operationProfiling</span><span class="token punctuation">:</span>
<span class="token comment"># 设置慢日志时间</span>
<span class="token key atrule">slowOpThresholdMs</span><span class="token punctuation">:</span> <span class="token number">100</span>
<span class="token key atrule">mode</span><span class="token punctuation">:</span> slowOp
<span class="token comment"># 是否支持分片</span>
<span class="token key atrule">sharding</span><span class="token punctuation">:</span>
<span class="token key atrule">clusterRole</span><span class="token punctuation">:</span> configsvr
<span class="token key atrule">archiveMovedChunks</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">replication</span><span class="token punctuation">:</span>
<span class="token key atrule">oplogSizeMB</span><span class="token punctuation">:</span> <span class="token number">10240</span>
<span class="token comment"># 需要和 mongos configDB 配置中的名字一致</span>
<span class="token key atrule">replSetName</span><span class="token punctuation">:</span> dc3_replica
<span class="token comment">#security:</span>
<span class="token comment"># # 指定 keyfile 位置,其他节点以此类推</span>
<span class="token comment"># keyFile: /data/mongodb/dc3/config-cluster/node-01/keys/keyfile</span>
<span class="token comment"># clusterAuthMode: keyFile</span>
<span class="token comment"># authorization: enabled</span>
</code></pre></div><h4 id="_5-3-启动">5.3 启动 <a href="#_5-3-启动" class="header-anchor">#</a></h4> <div class="language-bash extra-class"><pre class="language-bash"><code>/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/config-cluster/node-01/etc/config.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/config-cluster/node-02/etc/config.conf
/usr/local/mongodb/bin/mongod <span class="token parameter variable">-f</span> /data/mongodb/dc3/config-cluster/node-03/etc/config.conf
</code></pre></div><h4 id="_5-4-配置-node-节点到-config-server-服务">5.4 配置 <code>node</code> 节点到 <code>config server</code> 服务 <a href="#_5-4-配置-node-节点到-config-server-服务" class="header-anchor">#</a></h4> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 登录任意一个 node 节点</span>
/usr/local/mongodb/bin/mongo <span class="token parameter variable">--port</span> <span class="token number">27080</span>
<span class="token comment"># 执行以下配置,注意 id、ip、port 配置无误</span>
config <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;dc3_replica&quot;</span>,
<span class="token string">&quot;members&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">0</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27080&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27081&quot;</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">2</span>,
<span class="token string">&quot;host&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;127.0.0.1:27082&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
rs.initiate<span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment"># 查看配置服务中节点的状态</span>
rs.status<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="_6-配置-mongos-服务">6. 配置 <code>mongos</code> 服务 <a href="#_6-配置-mongos-服务" class="header-anchor">#</a></h3> <h4 id="_6-1-创建文件目录">6.1 创建文件目录 <a href="#_6-1-创建文件目录" class="header-anchor">#</a></h4> <blockquote><p>创建一个路由服务(<code>mongos-cluster</code>)目录</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> /data
<span class="token function">mkdir</span> <span class="token parameter variable">-p</span> mongodb/dc3/mongos-cluster
</code></pre></div><blockquote><p>为路由服务创建一个 <code>node</code> 节点目录,多个以此类推 <code>node-N</code></p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> mongodb/dc3/mongos-cluster
<span class="token function">mkdir</span> node-01
</code></pre></div><blockquote><p>为每个节点创建配置、日志和Key目录,其他节点操作一致</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token builtin class-name">cd</span> node-N
<span class="token function">mkdir</span> etc keys logs
</code></pre></div><h4 id="_6-2-配置文件">6.2 配置文件 <a href="#_6-2-配置文件" class="header-anchor">#</a></h4> <blockquote><p>在每个节点的 <code>etc</code> 下添加配置文件 <code>mongos.conf</code></p></blockquote> <div class="language-yaml extra-class"><pre class="language-yaml"><code><span class="token key atrule">processManagement</span><span class="token punctuation">:</span>
<span class="token key atrule">fork</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">pidFilePath</span><span class="token punctuation">:</span> /data/mongodb/dc3/mongos<span class="token punctuation">-</span>cluster/node<span class="token punctuation">-</span>03/mongos.pid
<span class="token key atrule">systemLog</span><span class="token punctuation">:</span>
<span class="token key atrule">destination</span><span class="token punctuation">:</span> file
<span class="token key atrule">logAppend</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">path</span><span class="token punctuation">:</span> /data/mongodb/dc3/mongos<span class="token punctuation">-</span>cluster/node<span class="token punctuation">-</span>03/logs/mongos.log
<span class="token key atrule">net</span><span class="token punctuation">:</span>
<span class="token comment"># 设置 mongod 监听端口</span>
<span class="token key atrule">port</span><span class="token punctuation">:</span> <span class="token number">27090</span>
<span class="token key atrule">maxIncomingConnections</span><span class="token punctuation">:</span> <span class="token number">10000</span>
<span class="token key atrule">bindIpAll</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
<span class="token key atrule">sharding</span><span class="token punctuation">:</span>
<span class="token comment"># 这里的的 dc3_replica 必须和 mongs configDB 配置名称一致</span>
<span class="token comment"># 这里的三个地址为 mongo-cfg 集群的地址</span>
<span class="token key atrule">configDB</span><span class="token punctuation">:</span> dc3_replica/127.0.0.1<span class="token punctuation">:</span><span class="token number">27080</span><span class="token punctuation">,</span>127.0.0.1<span class="token punctuation">:</span><span class="token number">27081</span><span class="token punctuation">,</span>127.0.0.1<span class="token punctuation">:</span><span class="token number">27082</span>
<span class="token comment">#不带认证需要屏蔽这两行配置</span>
<span class="token comment">#security:</span>
<span class="token comment"># keyFile: /data/mongodb/dc3/mongos-cluster/node-03/keys/keyfile</span>
<span class="token comment"># clusterAuthMode: keyFile</span>
<span class="token comment"># authorization: enabled</span>
</code></pre></div><h4 id="_6-3-启动">6.3 启动 <a href="#_6-3-启动" class="header-anchor">#</a></h4> <div class="language-bash extra-class"><pre class="language-bash"><code>/usr/local/mongodb/bin/mongos <span class="token parameter variable">-f</span> /data/mongodb/dc3/mongos-cluster/node-01/etc/mongos.conf
</code></pre></div><h4 id="_6-4-配置-shard-复制集到-mongos-服务">6.4 配置 <code>shard</code> 复制集到 <code>mongos</code> 服务 <a href="#_6-4-配置-shard-复制集到-mongos-服务" class="header-anchor">#</a></h4> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 登录任意一个 node 节点</span>
/usr/local/mongodb/bin/mongo <span class="token parameter variable">--port</span> <span class="token number">27090</span>
sh.addShard<span class="token punctuation">(</span><span class="token string">&quot;dc3_replica_1/127.0.0.1:27117,127.0.0.1:27118,127.0.0.1:27119&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
sh.addShard<span class="token punctuation">(</span><span class="token string">&quot;dc3_replica_2/127.0.0.1:27217,127.0.0.1:27218,127.0.0.1:27219&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment"># 查看路由服务节点的状态</span>
sh.status<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">上次更新:</span> <span class="time">2023/4/12 下午5:00:18</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev"><a href="/docs/cluster/emqx.html" class="prev"><i aria-label="icon: left" class="anticon anticon-left"><svg viewBox="64 64 896 896" focusable="false" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></i>
EMQ X 集群部署
</a></span> <span class="next"><a href="/docs/cluster/rabbitmq.html">
RabbitMQ 集群部署
<i aria-label="icon: right" class="anticon anticon-right"><svg viewBox="64 64 896 896" focusable="false" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"></path></svg></i></a></span></p></div> <div class="page-anchor"><div class="ant-space ant-space-vertical" style="width:100%;"><div class="ant-space-item"><div class="page-anchor-offset"><div><div class="ant-anchor-wrapper" style="max-height:100vh;"><div class="ant-anchor"><div class="ant-anchor-ink"><span class="ant-anchor-ink-ball"></span></div><div class="ant-anchor-link"><a href="#mongo-集群部署" title="Mongo 集群部署" class="ant-anchor-link-title">Mongo 集群部署</a><div class="ant-anchor-link"><a href="#_1-集群架构" title="1. 集群架构" class="ant-anchor-link-title">1. 集群架构</a></div><div class="ant-anchor-link"><a href="#_2-集群部署规划" title="2. 集群部署规划" class="ant-anchor-link-title">2. 集群部署规划</a></div><div class="ant-anchor-link"><a href="#_3-下载安装文件" title="3. 下载安装文件" class="ant-anchor-link-title">3. 下载安装文件</a></div><div class="ant-anchor-link"><a href="#_4-配置-shard-复制集" title="4. 配置 shard 复制集" class="ant-anchor-link-title">4. 配置 shard 复制集</a></div><div class="ant-anchor-link"><a href="#_5-配置-config-server-集群" title="5. 配置 config server 集群" class="ant-anchor-link-title">5. 配置 config server 集群</a></div><div class="ant-anchor-link"><a href="#_6-配置-mongos-服务" title="6. 配置 mongos 服务" class="ant-anchor-link-title">6. 配置 mongos 服务</a></div></div></div></div></div></div></div></div></div> </main> <!----></div><div class="global-ui"></div></div>
<script src="/assets/js/app.7dfefe51.js" defer></script><script src="/assets/js/2.a8b8915e.js" defer></script><script src="/assets/js/10.db658154.js" defer></script>
</body>
</html>