| import{_ as l,r as o,o as r,c,b as t,d as e,a as n,w as a,e as s}from"./app-Bx8hKGcu.js";const u={},h=t("h1",{id:"部署指导",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#部署指导"},[t("span",null,"部署指导")])],-1),p=t("h2",{id:"单机版部署",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#单机版部署"},[t("span",null,"单机版部署")])],-1),g=t("h3",{id:"安装环境",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#安装环境"},[t("span",null,"安装环境")])],-1),b=t("p",null,"安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。",-1),v=t("p",null,"设置最大文件打开数为 65535。",-1),m=t("h3",{id:"安装步骤",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#安装步骤"},[t("span",null,"安装步骤")])],-1),_=t("p",null,"IoTDB 支持多种安装途径。用户可以使用三种方式对 IoTDB 进行安装——下载二进制可运行程序、使用源码、使用 docker 镜像。",-1),f=t("li",null,[t("p",null,"使用源码:您可以从代码仓库下载源码并编译,具体编译方法见下方。")],-1),x={href:"https://iotdb.apache.org/Download/",target:"_blank",rel:"noopener noreferrer"},N={href:"https://github.com/apache/iotdb/blob/master/docker/src/main",target:"_blank",rel:"noopener noreferrer"},C=s(`<h3 id="软件目录结构" tabindex="-1"><a class="header-anchor" href="#软件目录结构"><span>软件目录结构</span></a></h3><ul><li>sbin 启动和停止脚本目录</li><li>conf 配置文件目录</li><li>tools 系统工具目录</li><li>lib 依赖包目录</li></ul><h3 id="iotdb-试用" tabindex="-1"><a class="header-anchor" href="#iotdb-试用"><span>IoTDB 试用</span></a></h3><p>用户可以根据以下操作对 IoTDB 进行简单的试用,若以下操作均无误,则说明 IoTDB 安装成功。</p><h4 id="启动-iotdb" tabindex="-1"><a class="header-anchor" href="#启动-iotdb"><span>启动 IoTDB</span></a></h4><p>IoTDB 是一个基于分布式系统的数据库。要启动 IoTDB ,你可以先启动单机版(一个 ConfigNode 和一个 DataNode)来检查安装。</p><p>用户可以使用 sbin 文件夹下的 start-standalone 脚本启动 IoTDB。</p><p>Linux 系统与 MacOS 系统启动命令如下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>> bash sbin/start-standalone.sh |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Windows 系统启动命令如下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>> sbin\\start-standalone.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="集群版部署" tabindex="-1"><a class="header-anchor" href="#集群版部署"><span>集群版部署</span></a></h2><p>以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容。</p><p><strong>注意:本文档为使用本地不同端口,进行伪分布式环境部署的教程,仅用于练习。在真实环境部署时,一般不需要修改节点端口,仅需配置节点<code>IP地址</code>或者<code>hostname(机器名/域名)</code>即可。</strong></p><h3 id="_1-准备启动环境" tabindex="-1"><a class="header-anchor" href="#_1-准备启动环境"><span>1. 准备启动环境</span></a></h3><p>解压 apache-iotdb-1.3.0-all-bin.zip 至 cluster0 目录。</p><h3 id="_2-启动最小集群" tabindex="-1"><a class="header-anchor" href="#_2-启动最小集群"><span>2. 启动最小集群</span></a></h3><p>在 Linux 环境中,部署 1 个 ConfigNode 和 1 个 DataNode(1C1D)集群版,默认 1 副本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>./cluster0/sbin/start-confignode.sh |
| ./cluster0/sbin/start-datanode.sh |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-验证最小集群" tabindex="-1"><a class="header-anchor" href="#_3-验证最小集群"><span>3. 验证最小集群</span></a></h3><ul><li>最小集群启动成功,启动 Cli 进行验证:</li></ul><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>./cluster0/sbin/start-cli.sh |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>在 Cli 执行 <code>show cluster details</code><br> 指令,结果如下所示:</li></ul><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>IoTDB> show cluster details |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ |
| |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort |SchemaConsensusPort|DataConsensusPort| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ |
| | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | |
| | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ |
| Total line number = 2 |
| It costs 0.242s |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-准备扩容环境" tabindex="-1"><a class="header-anchor" href="#_4-准备扩容环境"><span>4. 准备扩容环境</span></a></h3><p>解压 apache-iotdb-1.3.0-all-bin.zip 至 cluster1 目录和 cluster2 目录</p><h3 id="_5-修改节点配置文件" tabindex="-1"><a class="header-anchor" href="#_5-修改节点配置文件"><span>5. 修改节点配置文件</span></a></h3><p>对于 cluster1 目录:</p><ul><li>修改 ConfigNode 配置:</li></ul><table><thead><tr><th><strong>配置项</strong></th><th><strong>值</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>127.0.0.1</td></tr><tr><td>cn_internal_port</td><td>10711</td></tr><tr><td>cn_consensus_port</td><td>10721</td></tr><tr><td>cn_seed_config_node</td><td>127.0.0.1:10710</td></tr></tbody></table><ul><li>修改 DataNode 配置:</li></ul><table><thead><tr><th><strong>配置项</strong></th><th><strong>值</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>127.0.0.1</td></tr><tr><td>dn_rpc_port</td><td>6668</td></tr><tr><td>dn_internal_address</td><td>127.0.0.1</td></tr><tr><td>dn_internal_port</td><td>10731</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>10741</td></tr><tr><td>dn_schema_region_consensus_port</td><td>10751</td></tr><tr><td>dn_data_region_consensus_port</td><td>10761</td></tr><tr><td>dn_seed_config_node</td><td>127.0.0.1:10710</td></tr></tbody></table><p>对于 cluster2 目录:</p><ul><li>修改 ConfigNode 配置:</li></ul><table><thead><tr><th><strong>配置项</strong></th><th><strong>值</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>127.0.0.1</td></tr><tr><td>cn_internal_port</td><td>10712</td></tr><tr><td>cn_consensus_port</td><td>10722</td></tr><tr><td>cn_seed_config_node</td><td>127.0.0.1:10710</td></tr></tbody></table><ul><li>修改 DataNode 配置:</li></ul><table><thead><tr><th><strong>配置项</strong></th><th><strong>值</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>127.0.0.1</td></tr><tr><td>dn_rpc_port</td><td>6669</td></tr><tr><td>dn_internal_address</td><td>127.0.0.1</td></tr><tr><td>dn_internal_port</td><td>10732</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>10742</td></tr><tr><td>dn_schema_region_consensus_port</td><td>10752</td></tr><tr><td>dn_data_region_consensus_port</td><td>10762</td></tr><tr><td>dn_seed_config_node</td><td>127.0.0.1:10710</td></tr></tbody></table><h3 id="_6-集群扩容" tabindex="-1"><a class="header-anchor" href="#_6-集群扩容"><span>6. 集群扩容</span></a></h3><p>将集群扩容至 3 个 ConfigNode 和 3 个 DataNode(3C3D)集群版,<br> 指令执行顺序为先启动 ConfigNode,再启动 DataNode:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>./cluster1/sbin/start-confignode.sh |
| ./cluster2/sbin/start-confignode.sh |
| ./cluster1/sbin/start-datanode.sh |
| ./cluster2/sbin/start-datanode.sh |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-验证扩容结果" tabindex="-1"><a class="header-anchor" href="#_7-验证扩容结果"><span>7. 验证扩容结果</span></a></h3><p>在 Cli 执行 <code>show cluster details</code>,结果如下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>IoTDB> show cluster details |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | |
| | 2|ConfigNode|Running| 127.0.0.1| 10711| 10721| | | | | | |
| | 3|ConfigNode|Running| 127.0.0.1| 10712| 10722| | | | | | |
| | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| |
| | 4| DataNode|Running| 127.0.0.1| 10731| | 127.0.0.1| 6668| 10741| 10751| 10761| |
| | 5| DataNode|Running| 127.0.0.1| 10732| | 127.0.0.1| 6669| 10742| 10752| 10762| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| Total line number = 6 |
| It costs 0.012s |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_8-集群缩容" tabindex="-1"><a class="header-anchor" href="#_8-集群缩容"><span>8. 集群缩容</span></a></h3><ul><li>缩容一个 ConfigNode:</li></ul><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># 使用 ip:port 移除 |
| ./cluster0/sbin/remove-confignode.sh 127.0.0.1:10711 |
| |
| # 使用节点编号移除 |
| ./cluster0/sbin/remove-confignode.sh 2 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>缩容一个 DataNode:</li></ul><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># 使用 ip:port 移除 |
| ./cluster0/sbin/remove-datanode.sh 127.0.0.1:6668 |
| |
| # 使用节点编号移除 |
| ./cluster0/sbin/remove-confignode.sh 4 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_9-验证缩容结果" tabindex="-1"><a class="header-anchor" href="#_9-验证缩容结果"><span>9. 验证缩容结果</span></a></h3><p>在 Cli 执行 <code>show cluster details</code>,结果如下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>IoTDB> show cluster details |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | |
| | 3|ConfigNode|Running| 127.0.0.1| 10712| 10722| | | | | | |
| | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| |
| | 5| DataNode|Running| 127.0.0.1| 10732| | 127.0.0.1| 6669| 10742| 10752| 10762| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| Total line number = 4 |
| It costs 0.005s |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="手动部署" tabindex="-1"><a class="header-anchor" href="#手动部署"><span>手动部署</span></a></h2><h3 id="前置检查" tabindex="-1"><a class="header-anchor" href="#前置检查"><span>前置检查</span></a></h3><ol><li>JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。</li><li>设置最大文件打开数为 65535。</li><li>关闭交换内存。</li><li>首次启动ConfigNode节点时,确保已清空ConfigNode节点的data/confignode目录;首次启动DataNode节点时,确保已清空DataNode节点的data/datanode目录。</li><li>如果整个集群处在可信环境下,可以关闭机器上的防火墙选项。</li><li>在集群默认配置中,ConfigNode 会占用端口 10710 和 10720,DataNode 会占用端口 6667、10730、10740、10750 和 10760,<br> 请确保这些端口未被占用,或者手动修改配置文件中的端口配置。</li></ol><h3 id="安装包获取" tabindex="-1"><a class="header-anchor" href="#安装包获取"><span>安装包获取</span></a></h3><p>你可以选择下载二进制文件或从源代码编译。</p><h4 id="下载二进制文件" tabindex="-1"><a class="header-anchor" href="#下载二进制文件"><span>下载二进制文件</span></a></h4>`,57),D={href:"https://iotdb.apache.org/Download/",target:"_blank",rel:"noopener noreferrer"},k=t("li",null,"下载 IoTDB 1.3.0 版本的二进制文件。",-1),I=t("li",null,"解压得到 apache-iotdb-1.3.0-all-bin 目录。",-1),y=s(`<h4 id="使用源码编译" tabindex="-1"><a class="header-anchor" href="#使用源码编译"><span>使用源码编译</span></a></h4><h5 id="下载源码" tabindex="-1"><a class="header-anchor" href="#下载源码"><span>下载源码</span></a></h5><p><strong>Git</strong></p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>git clone https://github.com/apache/iotdb.git |
| git checkout v1.3.0 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>官网下载</strong></p>`,5),T={href:"https://iotdb.apache.org/Download/",target:"_blank",rel:"noopener noreferrer"},R=t("li",null,"下载 IoTDB 1.3.0 版本的源码。",-1),P=t("li",null,"解压得到 apache-iotdb-1.3.0 目录。",-1),B=s(`<h5 id="编译源码" tabindex="-1"><a class="header-anchor" href="#编译源码"><span>编译源码</span></a></h5><p>在 IoTDB 源码根目录下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>mvn clean package -pl distribution -am -DskipTests |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>编译成功后,可在目录<br><strong>distribution/target/apache-iotdb-1.3.0-all-bin/apache-iotdb-1.3.0-all-bin</strong><br> 找到集群版本的二进制文件。</p><h3 id="安装包说明" tabindex="-1"><a class="header-anchor" href="#安装包说明"><span>安装包说明</span></a></h3><p>打开 apache-iotdb-1.3.0-all-bin,可见以下目录:</p><table><thead><tr><th><strong>目录</strong></th><th><strong>说明</strong></th></tr></thead><tbody><tr><td>conf</td><td>配置文件目录,包含 ConfigNode、DataNode、JMX 和 logback 等配置文件</td></tr><tr><td>data</td><td>数据文件目录,包含 ConfigNode 和 DataNode 的数据文件</td></tr><tr><td>lib</td><td>库文件目录</td></tr><tr><td>licenses</td><td>证书文件目录</td></tr><tr><td>logs</td><td>日志文件目录,包含 ConfigNode 和 DataNode 的日志文件</td></tr><tr><td>sbin</td><td>脚本目录,包含 ConfigNode 和 DataNode 的启停移除脚本,以及 Cli 的启动脚本等</td></tr><tr><td>tools</td><td>系统工具目录</td></tr></tbody></table><h3 id="集群安装配置" tabindex="-1"><a class="header-anchor" href="#集群安装配置"><span>集群安装配置</span></a></h3><h4 id="集群安装" tabindex="-1"><a class="header-anchor" href="#集群安装"><span>集群安装</span></a></h4><p><code>apache-iotdb-1.3.0-all-bin</code> 包含 ConfigNode 和 DataNode,<br> 请将安装包部署于你目标集群的所有机器上,推荐将安装包部署于所有服务器的相同目录下。</p>`,10),S=t("br",null,null,-1),w=t("h4",{id:"集群配置",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#集群配置"},[t("span",null,"集群配置")])],-1),G=t("p",null,[e("接下来需要修改每个服务器上的配置文件,登录服务器,"),t("br"),e(" 并将工作路径切换至 "),t("code",null,"apache-iotdb-1.3.0-all-bin"),e(","),t("br"),e(" 配置文件在 "),t("code",null,"./conf"),e(" 目录内。")],-1),M=t("h5",{id:"通用配置",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通用配置"},[t("span",null,"通用配置")])],-1),z=t("br",null,null,-1),q=t("br",null,null,-1),A=s('<table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>节点希望加入的集群的名称</td><td>defaultCluster</td></tr><tr><td>config_node_consensus_protocol_class</td><td>ConfigNode 使用的共识协议</td><td>org.apache.iotdb.consensus.ratis.RatisConsensus</td></tr><tr><td>schema_replication_factor</td><td>元数据副本数,DataNode 数量不应少于此数目</td><td>1</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>元数据副本组的共识协议</td><td>org.apache.iotdb.consensus.ratis.RatisConsensus</td></tr><tr><td>data_replication_factor</td><td>数据副本数,DataNode 数量不应少于此数目</td><td>1</td></tr><tr><td>data_region_consensus_protocol_class</td><td>数据副本组的共识协议。注:RatisConsensus 目前不支持多数据目录</td><td>org.apache.iotdb.consensus.iot.IoTConsensus</td></tr></tbody></table><p><strong>注意:上述配置项在集群启动后即不可更改,且务必保证所有节点的通用配置完全一致,否则节点无法启动。</strong></p><h5 id="confignode-配置" tabindex="-1"><a class="header-anchor" href="#confignode-配置"><span>ConfigNode 配置</span></a></h5><p>打开 ConfigNode 配置文件 ./conf/iotdb-confignode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th><th><strong>用法</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>ConfigNode 在集群内部通讯使用的地址</td><td>127.0.0.1</td><td>设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>cn_internal_port</td><td>ConfigNode 在集群内部通讯使用的端口</td><td>10710</td><td>设置为任意未占用端口</td></tr><tr><td>cn_consensus_port</td><td>ConfigNode 副本组共识协议通信使用的端口</td><td>10720</td><td>设置为任意未占用端口</td></tr><tr><td>cn_seed_config_node</td><td>节点注册加入集群时连接的 ConfigNode 的地址。注:只能配置一个</td><td>127.0.0.1:10710</td><td>对于 Seed-ConfigNode,设置为自己的 cn_internal_address:cn_internal_port;对于其它 ConfigNode,设置为另一个正在运行的 ConfigNode 的 cn_internal_address:cn_internal_port</td></tr></tbody></table><p><strong>注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。</strong></p><h5 id="datanode-配置" tabindex="-1"><a class="header-anchor" href="#datanode-配置"><span>DataNode 配置</span></a></h5><p>打开 DataNode 配置文件 ./conf/iotdb-datanode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th><th><strong>用法</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>客户端 RPC 服务的地址</td><td>127.0.0.1</td><td>设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>dn_rpc_port</td><td>客户端 RPC 服务的端口</td><td>6667</td><td>设置为任意未占用端口</td></tr><tr><td>dn_internal_address</td><td>DataNode 在集群内部接收控制流使用的地址</td><td>127.0.0.1</td><td>设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>dn_internal_port</td><td>DataNode 在集群内部接收控制流使用的端口</td><td>10730</td><td>设置为任意未占用端口</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>DataNode 在集群内部接收数据流使用的端口</td><td>10740</td><td>设置为任意未占用端口</td></tr><tr><td>dn_data_region_consensus_port</td><td>DataNode 的数据副本间共识协议通信的端口</td><td>10750</td><td>设置为任意未占用端口</td></tr><tr><td>dn_schema_region_consensus_port</td><td>DataNode 的元数据副本间共识协议通信的端口</td><td>10760</td><td>设置为任意未占用端口</td></tr><tr><td>dn_seed_config_node</td><td>集群中正在运行的 ConfigNode 地址</td><td>127.0.0.1:10710</td><td>设置为任意正在运行的 ConfigNode 的 cn_internal_address:cn_internal_port,可设置多个,用逗号(",")隔开</td></tr></tbody></table><p><strong>注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。</strong></p><h3 id="集群操作" tabindex="-1"><a class="header-anchor" href="#集群操作"><span>集群操作</span></a></h3><h4 id="启动集群" tabindex="-1"><a class="header-anchor" href="#启动集群"><span>启动集群</span></a></h4><p>本小节描述如何启动包括若干 ConfigNode 和 DataNode 的集群。<br> 集群可以提供服务的标准是至少启动一个 ConfigNode 且启动 不小于(数据/元数据)副本个数 的 DataNode。</p><p>总体启动流程分为三步:</p><ol><li>启动种子 ConfigNode</li><li>增加 ConfigNode(可选)</li><li>增加 DataNode</li></ol><h5 id="启动-seed-confignode" tabindex="-1"><a class="header-anchor" href="#启动-seed-confignode"><span>启动 Seed-ConfigNode</span></a></h5><p><strong>集群第一个启动的节点必须是 ConfigNode,第一个启动的 ConfigNode 必须遵循本小节教程。</strong></p><p>第一个启动的 ConfigNode 是 Seed-ConfigNode,标志着新集群的创建。<br> 在启动 Seed-ConfigNode 前,请打开通用配置文件 ./conf/iotdb-common.properties,并检查如下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>已设置为期望的集群名称</td></tr><tr><td>config_node_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr><tr><td>schema_replication_factor</td><td>已设置为期望的元数据副本数</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr><tr><td>data_replication_factor</td><td>已设置为期望的数据副本数</td></tr><tr><td>data_region_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr></tbody></table>',19),L=t("strong",null,"注意:",-1),U=s(`<p>接着请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查如下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>已设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>cn_internal_port</td><td>该端口未被占用</td></tr><tr><td>cn_consensus_port</td><td>该端口未被占用</td></tr><tr><td>cn_seed_config_node</td><td>已设置为自己的内部通讯地址,即 cn_internal_address:cn_internal_port</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux 前台启动 |
| bash ./sbin/start-confignode.sh |
| |
| # Linux 后台启动 |
| nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 & |
| |
| # Windows |
| .\\sbin\\start-confignode.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,4),E=t("br",null,null,-1),W=s(`<h5 id="增加更多-confignode-可选" tabindex="-1"><a class="header-anchor" href="#增加更多-confignode-可选"><span>增加更多 ConfigNode(可选)</span></a></h5><p><strong>只要不是第一个启动的 ConfigNode 就必须遵循本小节教程。</strong></p><p>可向集群添加更多 ConfigNode,以保证 ConfigNode 的高可用。常用的配置为额外增加两个 ConfigNode,使集群共有三个 ConfigNode。</p><p>新增的 ConfigNode 需要保证 ./conf/iotdb-common.properites 中的所有配置参数与 Seed-ConfigNode 完全一致,否则可能启动失败或产生运行时错误。<br> 因此,请着重检查通用配置文件中的以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>config_node_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>schema_replication_factor</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>data_replication_factor</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>data_region_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr></tbody></table><p>接着请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>已设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>cn_internal_port</td><td>该端口未被占用</td></tr><tr><td>cn_consensus_port</td><td>该端口未被占用</td></tr><tr><td>cn_seed_config_node</td><td>已设置为另一个正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux 前台启动 |
| bash ./sbin/start-confignode.sh |
| |
| # Linux 后台启动 |
| nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 & |
| |
| # Windows |
| .\\sbin\\start-confignode.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,9),J=t("br",null,null,-1),V=s(`<h5 id="增加-datanode" tabindex="-1"><a class="header-anchor" href="#增加-datanode"><span>增加 DataNode</span></a></h5><p><strong>确保集群已有正在运行的 ConfigNode 后,才能开始增加 DataNode。</strong></p><p>可以向集群中添加任意个 DataNode。<br> 在添加新的 DataNode 前,请先打开通用配置文件 ./conf/iotdb-common.properties 并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>与 Seed-ConfigNode 保持一致</td></tr></tbody></table><p>接着打开它的配置文件 ./conf/iotdb-datanode.properties 并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>已设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>dn_rpc_port</td><td>该端口未被占用</td></tr><tr><td>dn_internal_address</td><td>已设置为服务器的 <code>IP地址</code>或<code>hostname(机器名/域名)</code></td></tr><tr><td>dn_internal_port</td><td>该端口未被占用</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>该端口未被占用</td></tr><tr><td>dn_data_region_consensus_port</td><td>该端口未被占用</td></tr><tr><td>dn_schema_region_consensus_port</td><td>该端口未被占用</td></tr><tr><td>dn_seed_config_node</td><td>已设置为正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux 前台启动 |
| bash ./sbin/start-datanode.sh |
| |
| # Linux 后台启动 |
| nohup bash ./sbin/start-datanode.sh >/dev/null 2>&1 & |
| |
| # Windows |
| .\\sbin\\start-datanode.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,8),O=t("br",null,null,-1),Q=s(`<p><strong>注意:当且仅当集群拥有不少于副本个数(max{schema_replication_factor, data_replication_factor})的 DataNode 后,集群才可以提供服务</strong></p><h4 id="启动-cli" tabindex="-1"><a class="header-anchor" href="#启动-cli"><span>启动 Cli</span></a></h4><p>若搭建的集群仅用于本地调试,可直接执行 ./sbin 目录下的 Cli 启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux |
| ./sbin/start-cli.sh |
| |
| # Windows |
| .\\sbin\\start-cli.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,4),F=t("br",null,null,-1),H=s(`<h4 id="验证集群" tabindex="-1"><a class="header-anchor" href="#验证集群"><span>验证集群</span></a></h4><p>以在6台服务器上启动的3C3D(3个ConfigNode 和 3个DataNode)集群为例,<br> 这里假设3个ConfigNode依次为iotdb-1(192.168.1.10)、iotdb-2(192.168.1.11)、iotdb-3(192.168.1.12),且3个ConfigNode启动时均使用了默认的端口10710与10720;<br> 3个DataNode依次为iotdb-4(192.168.1.20)、iotdb-5(192.168.1.21)、iotdb-6(192.168.1.22),且3个DataNode启动时均使用了默认的端口6667、10730、10740、10750与10760。</p><p>我们为这六台地址全部设置 hostname</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.10 iotdb-1"</span> <span class="token operator">>></span> /etc/hosts |
| <span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.11 iotdb-2"</span> <span class="token operator">>></span> /etc/hosts |
| <span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.12 iotdb-3"</span> <span class="token operator">>></span> /etc/hosts |
| <span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.20 iotdb-4"</span> <span class="token operator">>></span> /etc/hosts |
| <span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.21 iotdb-5"</span> <span class="token operator">>></span> /etc/hosts |
| <span class="token builtin class-name">echo</span> <span class="token string">"192.168.132.22 iotdb-6"</span> <span class="token operator">>></span> /etc/hosts |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>当按照6.1步骤成功启动集群后,在 Cli 执行 <code>show cluster details</code>,看到的结果应当如下:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>IoTDB> show cluster details |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| | 0|ConfigNode|Running| iotdb-1 | 10710| 10720| | | | | | |
| | 2|ConfigNode|Running| iotdb-2 | 10710| 10720| | | | | | |
| | 3|ConfigNode|Running| iotdb-3 | 10710| 10720| | | | | | |
| | 1| DataNode|Running| iotdb-4 | 10730| | iotdb-4| 6667| 10740| 10750| 10760| |
| | 4| DataNode|Running| iotdb-5 | 10730| | iotdb-5| 6667| 10740| 10750| 10760| |
| | 5| DataNode|Running| iotdb-6 | 10730| | iotdb-6| 6667| 10740| 10750| 10760| |
| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |
| Total line number = 6 |
| It costs 0.012s |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>若所有节点的状态均为 <strong>Running</strong>,则说明集群部署成功;<br> 否则,请阅读启动失败节点的运行日志,并检查对应的配置参数。</p><h4 id="停止-iotdb-进程" tabindex="-1"><a class="header-anchor" href="#停止-iotdb-进程"><span>停止 IoTDB 进程</span></a></h4><p>本小节描述如何手动关闭 IoTDB 的 ConfigNode 或 DataNode 进程。</p><h5 id="使用脚本停止-confignode" tabindex="-1"><a class="header-anchor" href="#使用脚本停止-confignode"><span>使用脚本停止 ConfigNode</span></a></h5><p>执行停止 ConfigNode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux |
| ./sbin/stop-confignode.sh |
| |
| # Windows |
| .\\sbin\\stop-confignode.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="使用脚本停止-datanode" tabindex="-1"><a class="header-anchor" href="#使用脚本停止-datanode"><span>使用脚本停止 DataNode</span></a></h5><p>执行停止 DataNode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux |
| ./sbin/stop-datanode.sh |
| |
| # Windows |
| .\\sbin\\stop-datanode.bat |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="停止节点进程" tabindex="-1"><a class="header-anchor" href="#停止节点进程"><span>停止节点进程</span></a></h5><p>首先获取节点的进程号:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>jps |
| |
| # 或 |
| |
| ps aux | grep iotdb |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>结束进程:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>kill -9 <pid> |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p><strong>注意:有些端口的信息需要 root 权限才能获取,在此情况下请使用 sudo</strong></p><h4 id="集群缩容" tabindex="-1"><a class="header-anchor" href="#集群缩容"><span>集群缩容</span></a></h4><p>本小节描述如何将 ConfigNode 或 DataNode 移出集群。</p><h5 id="移除-confignode" tabindex="-1"><a class="header-anchor" href="#移除-confignode"><span>移除 ConfigNode</span></a></h5><p>在移除 ConfigNode 前,请确保移除后集群至少还有一个活跃的 ConfigNode。<br> 在活跃的 ConfigNode 上执行 remove-confignode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux |
| ## 根据 confignode_id 移除节点 |
| ./sbin/remove-confignode.sh <confignode_id> |
| |
| ## 根据 ConfigNode 内部通讯地址和端口移除节点 |
| ./sbin/remove-confignode.sh <cn_internal_address>:<cn_internal_port> |
| |
| |
| # Windows |
| ## 根据 confignode_id 移除节点 |
| .\\sbin\\remove-confignode.bat <confignode_id> |
| |
| ## 根据 ConfigNode 内部通讯地址和端口移除节点 |
| .\\sbin\\remove-confignode.bat <cn_internal_address>:<cn_internal_port> |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="移除-datanode" tabindex="-1"><a class="header-anchor" href="#移除-datanode"><span>移除 DataNode</span></a></h5><p>在移除 DataNode 前,请确保移除后集群至少还有不少于(数据/元数据)副本个数的 DataNode。<br> 在活跃的 DataNode 上执行 remove-datanode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code># Linux |
| ## 根据 datanode_id 移除节点 |
| ./sbin/remove-datanode.sh <datanode_id> |
| |
| ## 根据 DataNode RPC 服务地址和端口移除节点 |
| ./sbin/remove-datanode.sh <dn_rpc_address>:<dn_rpc_port> |
| |
| |
| # Windows |
| ## 根据 datanode_id 移除节点 |
| .\\sbin\\remove-datanode.bat <datanode_id> |
| |
| ## 根据 DataNode RPC 服务地址和端口移除节点 |
| .\\sbin\\remove-datanode.bat <dn_rpc_address>:<dn_rpc_port> |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="常见问题" tabindex="-1"><a class="header-anchor" href="#常见问题"><span>常见问题</span></a></h3>`,30);function K(j,Z){const d=o("RouteLink"),i=o("ExternalLinkIcon");return r(),c("div",null,[h,p,t("p",null,[e("本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 "),n(d,{to:"/zh/UserGuide/latest/IoTDB-Introduction/What-is-IoTDB.html"},{default:a(()=>[e("指引")]),_:1}),e(".")]),g,b,v,m,_,t("ul",null,[f,t("li",null,[t("p",null,[e("二进制可运行程序:请从 "),t("a",x,[e("下载"),n(i)]),e(" 页面下载最新的安装包,解压后即完成安装。")])]),t("li",null,[t("p",null,[e("使用 Docker 镜像:dockerfile 文件位于"),t("a",N,[e("github"),n(i)])])])]),C,t("ol",null,[t("li",null,[e("打开官网"),t("a",D,[e("Download Page"),n(i)]),e("。")]),k,I]),y,t("ol",null,[t("li",null,[e("打开官网"),t("a",T,[e("Download Page"),n(i)]),e("。")]),R,P]),B,t("p",null,[e("如果你希望先在一台服务器上尝试部署 IoTDB 集群,请参考"),S,n(d,{to:"/zh/UserGuide/latest/QuickStart/ClusterQuickStart.html"},{default:a(()=>[e("Cluster Quick Start")]),_:1}),e("。")]),w,G,t("p",null,[e("对于所有部署 ConfigNode 的服务器,需要修改"),n(d,{to:"/zh/UserGuide/latest/Reference/Common-Config-Manual.html"},{default:a(()=>[e("通用配置")]),_:1}),e("和 "),n(d,{to:"/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.html"},{default:a(()=>[e("ConfigNode 配置")]),_:1}),e("。")]),t("p",null,[e("对于所有部署 DataNode 的服务器,需要修改"),n(d,{to:"/zh/UserGuide/latest/Reference/Common-Config-Manual.html"},{default:a(()=>[e("通用配置")]),_:1}),e("和 "),n(d,{to:"/zh/UserGuide/latest/Reference/DataNode-Config-Manual.html"},{default:a(()=>[e("DataNode 配置")]),_:1}),e("。")]),M,t("p",null,[e("打开通用配置文件 ./conf/iotdb-common.properties,"),z,e(" 可根据 "),n(d,{to:"/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Recommendation.html"},{default:a(()=>[e("部署推荐")]),_:1}),q,e(" 设置以下参数:")]),A,t("p",null,[L,e(" 请根据"),n(d,{to:"/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Recommendation.html"},{default:a(()=>[e("部署推荐")]),_:1}),e("配置合适的通用参数,这些参数在首次配置后即不可修改。")]),U,t("p",null,[e("ConfigNode 的其它配置参数可参考"),E,n(d,{to:"/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.html"},{default:a(()=>[e("ConfigNode 配置参数")]),_:1}),e("。")]),W,t("p",null,[e("ConfigNode 的其它配置参数可参考"),J,n(d,{to:"/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.html"},{default:a(()=>[e("ConfigNode 配置参数")]),_:1}),e("。")]),V,t("p",null,[e("DataNode 的其它配置参数可参考"),O,n(d,{to:"/zh/UserGuide/latest/Reference/DataNode-Config-Manual.html"},{default:a(()=>[e("DataNode配置参数")]),_:1}),e(" 。")]),Q,t("p",null,[e("若希望通过 Cli 连接生产环境的集群,"),F,e(" 请阅读 "),n(d,{to:"/zh/UserGuide/latest/Tools-System/CLI.html"},{default:a(()=>[e("Cli 使用手册")]),_:1}),e("。")]),H,t("p",null,[e("请参考 "),n(d,{to:"/zh/UserGuide/latest/FAQ/Frequently-asked-questions.html#%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2-faq"},{default:a(()=>[e("分布式部署FAQ")]),_:1})])])}const Y=l(u,[["render",K],["__file","Deployment-Guide.html.vue"]]),$=JSON.parse('{"path":"/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Guide.html","title":"部署指导","lang":"zh-CN","frontmatter":{"description":"部署指导 单机版部署 本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 . 安装环境 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 安装步骤 IoTDB 支持多种安装途径。用户可以使用三种方式对 IoTDB 进行安装——下载二进制可运行...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/latest/Deployment-and-Maintenance/Deployment-Guide.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Guide.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"部署指导"}],["meta",{"property":"og:description","content":"部署指导 单机版部署 本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 . 安装环境 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 安装步骤 IoTDB 支持多种安装途径。用户可以使用三种方式对 IoTDB 进行安装——下载二进制可运行..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-03-29T10:15:18.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-29T10:15:18.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"部署指导\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-03-29T10:15:18.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"单机版部署","slug":"单机版部署","link":"#单机版部署","children":[{"level":3,"title":"安装环境","slug":"安装环境","link":"#安装环境","children":[]},{"level":3,"title":"安装步骤","slug":"安装步骤","link":"#安装步骤","children":[]},{"level":3,"title":"软件目录结构","slug":"软件目录结构","link":"#软件目录结构","children":[]},{"level":3,"title":"IoTDB 试用","slug":"iotdb-试用","link":"#iotdb-试用","children":[]}]},{"level":2,"title":"集群版部署","slug":"集群版部署","link":"#集群版部署","children":[{"level":3,"title":"1. 准备启动环境","slug":"_1-准备启动环境","link":"#_1-准备启动环境","children":[]},{"level":3,"title":"2. 启动最小集群","slug":"_2-启动最小集群","link":"#_2-启动最小集群","children":[]},{"level":3,"title":"3. 验证最小集群","slug":"_3-验证最小集群","link":"#_3-验证最小集群","children":[]},{"level":3,"title":"4. 准备扩容环境","slug":"_4-准备扩容环境","link":"#_4-准备扩容环境","children":[]},{"level":3,"title":"5. 修改节点配置文件","slug":"_5-修改节点配置文件","link":"#_5-修改节点配置文件","children":[]},{"level":3,"title":"6. 集群扩容","slug":"_6-集群扩容","link":"#_6-集群扩容","children":[]},{"level":3,"title":"7. 验证扩容结果","slug":"_7-验证扩容结果","link":"#_7-验证扩容结果","children":[]},{"level":3,"title":"8. 集群缩容","slug":"_8-集群缩容","link":"#_8-集群缩容","children":[]},{"level":3,"title":"9. 验证缩容结果","slug":"_9-验证缩容结果","link":"#_9-验证缩容结果","children":[]}]},{"level":2,"title":"手动部署","slug":"手动部署","link":"#手动部署","children":[{"level":3,"title":"前置检查","slug":"前置检查","link":"#前置检查","children":[]},{"level":3,"title":"安装包获取","slug":"安装包获取","link":"#安装包获取","children":[]},{"level":3,"title":"安装包说明","slug":"安装包说明","link":"#安装包说明","children":[]},{"level":3,"title":"集群安装配置","slug":"集群安装配置","link":"#集群安装配置","children":[]},{"level":3,"title":"集群操作","slug":"集群操作","link":"#集群操作","children":[]},{"level":3,"title":"常见问题","slug":"常见问题","link":"#常见问题","children":[]}]}],"git":{"createdTime":1688958677000,"updatedTime":1711707318000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":2},{"name":"Tansgr","email":"101696091+tanxilo@users.noreply.github.com","commits":1},{"name":"qiaojialin","email":"646274302@qq.com","commits":1}]},"readingTime":{"minutes":14.28,"words":4284},"filePathRelative":"zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-Guide.md","localizedDate":"2023年7月10日","autoDesc":true}');export{Y as comp,$ as data}; |