You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@iotdb.apache.org by GitBox <gi...@apache.org> on 2022/12/11 08:11:29 UTC
[GitHub] [iotdb] Beyyes commented on a diff in pull request #8402: [IOTDB-5159] Refactor the structure of Cluster Deploy DOC
Beyyes commented on code in PR #8402:
URL: https://github.com/apache/iotdb/pull/8402#discussion_r1045182062
##########
docs/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -19,47 +19,51 @@
-->
-## Cluster Setup
-
+# 1. Purpose
This article is the setup process of IoTDB Cluster (1.0.0).
Review Comment:
This document describes how to install and configure IoTDB Cluster (1.0.0).
##########
docs/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -143,284 +134,212 @@ Please set the important parameters in iotdb-datanode.properties:
| dn\_schema\_region\_consensus\_port | Schema replicas communication port for consensus |
| dn\_target\_config\_node\_list | Running ConfigNode of the Cluster |
-Start on Linux:
-```
-# Foreground
-bash ./sbin/start-datanode.sh
+**Notice: The preceding configuration parameters cannot be changed after the node is started. Ensure that all ports are not occupied. Otherwise, the Node cannot be started.**
-# Background
-nohup bash ./sbin/start-datanode.sh >/dev/null 2>&1 &
-```
+# 6. Cluster Operation
-Start on Windows:
-```
-sbin\start-datanode.bat
-```
+## 6.1 Starting the cluster
-More details are in [DataNode Configurations](https://iotdb.apache.org/UserGuide/Master/Reference/DataNode-Config-Manual.html).
+This section describes how to start a cluster that includes several ConfigNodes and DataNodes.
+The cluster can provide services only by starting at least one ConfigNode
+and no less than the number of data/schema_replication_factor DataNodes.
-### Stop IoTDB
-When you meet problem, and want to stop IoTDB ConfigNode and DataNode directly, our shells can help you do this.
+The total process are three steps:
-In Windows:
+* Start the Seed-ConfigNode
+* Add ConfigNode (Optional)
+* Add DataNode
-```
-sbin\stop-datanode.bat
-```
-```
-sbin\stop-confignode.bat
-```
-In Linux:
-```
-bash sbin/stop-datanode.sh
-```
-```
-bash sbin/stop-confignode.sh
-```
-Be careful not to miss the "sudo" label, because some port info's acquisition may require root authority. If you can't sudo, just
-use "jps" or "ps aux | grep iotdb" to get the process's id, then use "kill -9 <process-id>" to stop the process.
+### 6.1.1 Start the Seed-ConfigNode
-## Start StandAlone
-If you just want to setup your IoTDB locally,
-You can quickly init 1C1D (i.e. 1 Confignode and 1 Datanode) environment by our shells.
+The first ConfigNode to start is the Seed-ConfigNode, which marks the creation of the new cluster.
+Open the Seed-ConfigNode configuration file ./conf/iotdb-confignode.properties and set the following parameters:
-This will work well if you don't change our default settings.
+| **Configuration** | **Description** |
+|--------------------------------|----------------------------------------------------------------------------------------------------|
+| cn\_internal\_address | Internal rpc service address of ConfigNode |
+| cn\_internal\_port | Internal rpc service port of ConfigNode |
+| cn\_consensus\_port | ConfigNode replication consensus protocol communication port |
+| cn\_target\_config\_node\_list | Set it to its own internal communication address, that is cn\_internal\_address:cn\_internal\_port |
-Start on Windows:
-```
-sbin\start-standalone.bat
-```
-Start on Linux:
-```
-bash sbin/start-standalone.sh
+After the configuration is complete, run the startup script:
Review Comment:
add a blank
##########
docs/zh/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -71,352 +83,319 @@ mvn clean package -pl distribution -am -DskipTests
| sbin | 脚本目录,包含 ConfigNode 和 DataNode 的启停移除脚本目录,以及 Cli 的启动脚本 |
| tools | 系统工具目录 |
-## 启动集群
+# 5. 集群安装配置
-用户可以启动包括若干 ConfigNode 和 DataNode 的集群。
-集群可以提供服务的标准是至少启动一个 ConfigNode 且启动 不小于(数据/元数据)副本个数 的 DataNode。
+## 5.1 集群安装
-总体启动流程分为三步:
+`apache-iotdb-1.0.0-SNAPSHOT-all-bin` 包含 ConfigNode 和 DataNode,
+请将安装包部署于你目标集群的所有机器上,推荐将安装包部署于所有服务器的相同目录下。
-* 启动种子 ConfigNode
-* 增加 ConfigNode(可选)
-* 增加 DataNode
+如果你希望先在一台服务器上尝试部署 IoTDB 集群,请参考
+[Cluster Quick Start](https://iotdb.apache.org/zh/UserGuide/Master/QuickStart/ClusterQuickStart.html)。
-### 启动种子 ConfigNode
+## 5.2 集群配置
-对 confignode/conf/iotdb-confignode.properties 和 conf/iotdb-common.properties 中的重要参数进行配置:
-iotdb-confignode.properties:
+接下来需要修改每个服务器上的配置文件,登录服务器,
+并将工作路径切换至 `apache-iotdb-1.0.0-SNAPSHOT-all-bin`,
+配置文件在 `./conf` 目录内。
-| **配置项** | **说明** |
-|-------------------------------------------|----------------------------------------------------|
-| cn\_internal\_address | ConfigNode 在集群内部通讯使用的地址 |
-| cn\_internal\_port | ConfigNode 在集群内部通讯使用的端口 |
-| cn\_consensus\_port | ConfigNode 副本组共识协议通信使用的端口 |
-| cn\_target\_config\_node\_list | 种子 ConfigNode 地址,第一个 ConfigNode 配置自己的 address:port |
+对于所有部署 ConfigNode 的服务器,需要修改通用配置(见 5.2.1)和 ConfigNode 配置(见 5.2.2)。
-iotdb-common.properties:
+对于所有部署 DataNode 的服务器,需要修改通用配置(见 5.2.1)和 DataNode 配置(见 5.2.3)。
-| **配置项** | **说明** |
-|--------------------------------------------|---------------------------------------|
-| data\_replication\_factor | 数据副本数,DataNode 数量不应少于此数目 |
-| data\_region\_consensus\_protocol\_class | 数据副本组的共识协议。注:RatisConsensus目前不支持多数据目录 |
-| schema\_replication\_factor | 元数据副本数,DataNode 数量不应少于此数目 |
-| schema\_region\_consensus\_protocol\_class | 元数据副本组的共识协议 |
+### 5.2.1 通用配置
-Linux 启动方式:
-```
-# 前台启动
-bash ./sbin/start-confignode.sh
+打开通用配置文件 ./conf/iotdb-common.properties,
+可根据 [部署推荐](https://iotdb.apache.org/zh/UserGuide/Master/Cluster/Deployment-Recommendation.html)
+设置以下参数:
-# 后台启动
-nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 &
-```
+| **配置项** | **说明** | **默认** |
+|--------------------------------------------|----------------------------------------|-------------------------------------------------|
+| config_node_consensus_protocol_class | ConfigNode 使用的共识协议 | org.apache.iotdb.consensus.ratis.RatisConsensus |
+| schema\_replication\_factor | 元数据副本数,DataNode 数量不应少于此数目 | 1 |
+| schema\_region\_consensus\_protocol\_class | 元数据副本组的共识协议 | org.apache.iotdb.consensus.ratis.RatisConsensus |
+| data\_replication\_factor | 数据副本数,DataNode 数量不应少于此数目 | 1 |
+| data\_region\_consensus\_protocol\_class | 数据副本组的共识协议。注:RatisConsensus 目前不支持多数据目录 | org.apache.iotdb.consensus.iot.IoTConsensus |
-Windows 启动方式:
-```
-sbin\start-confignode.bat
-```
-
-具体参考 [ConfigNode配置参数](https://iotdb.apache.org/zh/UserGuide/Master/Reference/ConfigNode-Config-Manual.html)
+**注意:上述配置项在集群启动后即不可更改,且务必保证所有节点的通用配置完全一致,否则节点无法启动。**
-### 增加 ConfigNode(可选)
+### 5.2.2 ConfigNode 配置
-增加 ConfigNode 是一个扩容操作,除 IP 和端口不能冲突外,上述其它重要参数需要与集群已有的 ConfigNode 保持一致,并将 cn\_target\_config\_nodes\_list 配置为集群活跃的 ConfigNode。
+打开 ConfigNode 配置文件 ./conf/iotdb-confignode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:
-启动方式同上。
+| **配置项** | **说明** | **默认** | **用法** |
+|--------------------------------|--------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
+| cn\_internal\_address | ConfigNode 在集群内部通讯使用的地址 | 127.0.0.1 | 设置为服务器的 IPV4 地址或域名 |
+| cn\_internal\_port | ConfigNode 在集群内部通讯使用的端口 | 22277 | 设置为任意未占用端口 |
+| cn\_consensus\_port | ConfigNode 副本组共识协议通信使用的端口 | 22278 | 设置为任意未占用端口 |
+| cn\_target\_config\_node\_list | 节点注册加入集群时连接的 ConfigNode 的地址。注:只能配置一个 | 127.0.0.1:22277 | 对于 Seed-ConfigNode,设置为自己的 cn\_internal\_address:cn\_internal\_port;对于其它 ConfigNode,设置为另一个正在运行的 ConfigNode 的 cn\_internal\_address:cn\_internal\_port |
-### 增加 DataNode
+**注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。**
-可以向集群中添加任意个 DataNode。
+### 5.2.3 DataNode 配置
-iotdb-datanode.properties 中的重要配置如下:
+打开 DataNode 配置文件 ./conf/iotdb-datanode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:
-| **配置项** | **说明** |
-|-------------------------------------|---------------------------|
-| dn\_rpc\_address | 客户端 RPC 服务的地址 |
-| dn\_rpc\_port | 客户端 RPC 服务的端口 |
-| dn\_internal\_address | DataNode 在集群内部接收控制流使用的地址 |
-| dn\_internal\_port | DataNode 在集群内部接收控制流使用的端口 |
-| dn\_mpp\_data\_exchange\_port | DataNode 在集群内部接收数据流使用的端口 |
-| dn\_data\_region\_consensus\_port | DataNode 的数据副本间共识协议通信的端口 |
-| dn\_schema\_region\_consensus\_port | DataNode 的元数据副本间共识协议通信的端口 |
-| dn\_target\_config\_node\_list | 集群中正在运行的 ConfigNode 地址 |
+| **配置项** | **说明** | **默认** | **用法** |
+|-------------------------------------|---------------------------|-----------------|-----------------------------------------------------------------------------------|
+| dn\_rpc\_address | 客户端 RPC 服务的地址 | 127.0.0.1 | 设置为服务器的 IPV4 地址或域名 |
+| dn\_rpc\_port | 客户端 RPC 服务的端口 | 6667 | 设置为任意未占用端口 |
+| dn\_internal\_address | DataNode 在集群内部接收控制流使用的地址 | 127.0.0.1 | 设置为服务器的 IPV4 地址或域名 |
+| dn\_internal\_port | DataNode 在集群内部接收控制流使用的端口 | 9003 | 设置为任意未占用端口 |
+| dn\_mpp\_data\_exchange\_port | DataNode 在集群内部接收数据流使用的端口 | 8777 | 设置为任意未占用端口 |
+| dn\_data\_region\_consensus\_port | DataNode 的数据副本间共识协议通信的端口 | 50010 | 设置为任意未占用端口 |
+| dn\_schema\_region\_consensus\_port | DataNode 的元数据副本间共识协议通信的端口 | 40010 | 设置为任意未占用端口 |
+| dn\_target\_config\_node\_list | 集群中正在运行的 ConfigNode 地址 | 127.0.0.1:22277 | 设置为任意正在运行的 ConfigNode 的 cn\_internal\_address:cn\_internal\_port,可设置多个,用逗号(",")隔开 |
+**注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。**
-Linux 启动方式:
-```
-# 前台启动
-bash ./sbin/start-datanode.sh
+# 6. 集群操作
-# 后台启动
-nohup bash ./sbin/start-datanode.sh >/dev/null 2>&1 &
-```
+## 6.1 启动集群
-Windows 启动方式:
-```
-sbin\start-datanode.bat
-```
+本小节描述如何启动包括若干 ConfigNode 和 DataNode 的集群。
+集群可以提供服务的标准是至少启动一个 ConfigNode 且启动 不小于(数据/元数据)副本个数 的 DataNode。
-具体参考 [DataNode配置参数](https://iotdb.apache.org/zh/UserGuide/Master/Reference/DataNode-Config-Manual.html)。
+总体启动流程分为三步:
-### 停止 IoTDB 进程
-如果你碰到了问题,希望手动关闭 IoTDB 的 ConfigNode 和 DataNode 进程,可以使用我们的脚本。
+1. 启动种子 ConfigNode
+2. 增加 ConfigNode(可选)
+3. 增加 DataNode
-在 Windows 上:
+### 6.1.1 启动 Seed-ConfigNode
-```
-sbin\stop-datanode.bat
-```
-```
-sbin\stop-confignode.bat
-```
-在 Linux 上:
-```
-bash sbin/stop-datanode.sh
-```
-```
-bash sbin/stop-confignode.sh
-```
+**集群第一个启动的节点必须是 ConfigNode,第一个启动的 ConfigNode 必须遵循本小节教程。**
-注意不要遗漏 ”sudo“ 的标签,因为一些端口信息的获取需要 root 权限。如果无法 sudo 或遇到其他问题,可以使用 jps 或 ps aux | grep iotdb 的命令来获取 IoTDB 的进程,然后使用 kill -9 进程号来结束此进程。
+第一个启动的 ConfigNode 是 Seed-ConfigNode,标志着新集群的创建。
+在启动 Seed-ConfigNode 前,请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查如下参数:
-## 启动单机
-除了集群之外, 我们的脚本也提供了单机 1C1D(也就是1个Confignode + 1个Datanode) 的便捷启动方式。
+| **配置项** | **检查** |
+|--------------------------------|----------------------------------------------------------|
+| cn\_internal\_address | 已设置为服务器的 IPV4 地址或域名 |
+| cn\_internal\_port | 该端口未被占用 |
+| cn\_consensus\_port | 该端口未被占用 |
+| cn\_target\_config\_node\_list | 已设置为自己的内部通讯地址,即 cn\_internal\_address:cn\_internal\_port |
-在不更改配置文件的情况下,该脚本可以成功执行。
+检查完毕后,即可在服务器上运行启动脚本:
-Windows 启动方式:
-```
-sbin\start-standalone.bat
-```
-Linux 启动方式:
-```
-bash sbin/start-standalone.sh
```
+# Linux 前台启动
+bash ./sbin/start-confignode.sh
-也可以使用脚本直接关闭这些进程。
+# Linux 后台启动
+nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 &
-Windows 停止方式:
-```
-sbin\stop-standalone.bat
-```
-Linux 停止方式:
-```
-bash sbin/stop-standalone.sh
+# Windows
+.\sbin\start-confignode.bat
```
-注意: 在 Linux 平台上,1C1D 的两个进程都在后台启动,可以查看 confignode1.log 和 datanode1.log 来找到它们的运行日志。
-一般来说,stop-standalone.sh需要sudo权限,因为iotdb的端口信息在非sudo下可能是隐形的。如果 stop-standalone.sh
-出现错误,可以使用“jps”命令或“ps aux | grep iotdb“命令来查看iotdb的进程,再使用" kill -9 <进程号>"的方式来停止它们。
+ConfigNode 的其它配置参数可参考
+[ConfigNode 配置参数](https://iotdb.apache.org/zh/UserGuide/Master/Reference/ConfigNode-Config-Manual.html)。
-### 启动 Cli
+### 6.1.2 增加更多 ConfigNode(可选)
-Cli 启动脚本在 sbin 目录。
+**只要不是第一个启动的 ConfigNode 就必须遵循本小节教程。**
-Linux 启动方式:
-```
-./sbin/start-cli.sh
-```
+可向集群添加更多 ConfigNode,以保证 ConfigNode 的高可用。常用的配置为额外增加两个 ConfigNode,使集群共有三个 ConfigNode。
-Windows 启动方式:
-```
-sbin\start-cli.bat
-```
-
-## 集群缩容
+新增的 ConfigNode 需要保证 ./conf/iotdb-common.properites 中的所有配置参数与种子 ConfigNode 完全一致,否则可能启动失败或产生运行时错误。
-### 移除 ConfigNode
+在增加一个新的 ConfigNode 之前,请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查以下参数:
-需要在活跃的 ConfigNode 上执行 remove-confignode 脚本,且保证移除后集群中至少有一个活跃的 ConfigNode。
+| **配置项** | **检查** |
+|--------------------------------|--------------------------------------------------------------|
+| cn\_internal\_address | 已设置为服务器的 IPV4 地址或域名 |
+| cn\_internal\_port | 该端口未被占用 |
+| cn\_consensus\_port | 该端口未被占用 |
+| cn\_target\_config\_node\_list | 已设置为另一个正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址 |
-Linux 移除方式:
-```
-# 根据 confignode_id 移除节点
-./sbin/remove-confignode.sh <confignode_id>
+检查完毕后,即可在服务器上运行启动脚本:
-# 根据 ConfigNode 内部通讯地址和端口移除节点
-./sbin/remove-confignode.sh <internal_address>:<internal_port>
```
+# Linux 前台启动
+bash ./sbin/start-confignode.sh
-Windows 移除方式:
-```
-# 根据 confignode_id 移除节点
-sbin\remove-confignode.bat <confignode_id>
+# Linux 后台启动
+nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 &
-# 根据 ConfigNode 内部通讯地址和端口移除节点
-sbin\remove-confignode.bat <internal_address>:<internal_port>
+# Windows
+.\sbin\start-confignode.bat
```
-### 移除 DataNode
+ConfigNode 的其它配置参数可参考
+[ConfigNode配置参数](https://iotdb.apache.org/zh/UserGuide/Master/Reference/ConfigNode-Config-Manual.html)。
-需要在活跃的 DataNode 上执行 remove-datanode 脚本,且保证移除后集群中至少有不少于(数据/元数据)副本个数 的 DataNode。
+### 6.1.3 增加 DataNode
-Linux 移除方式:
+**确保集群已有正在运行的 ConfigNode 后,才能开始增加 DataNode。**
-```
-# 根据 datanode_id 移除节点
-./sbin/remove-datanode.sh <datanode_id>
+可以向集群中添加任意个 DataNode。
+在添加新的 DataNode 前,请打开它的配置文件 ./conf/iotdb-datanode.properties 并检查以下参数:
-# 根据 DataNode RPC 服务地址和端口移除节点
-./sbin/remove-datanode.sh <rpc_address>:<rpc_port>
-```
+| **配置项** | **检查** |
+|-------------------------------------|-----------------------------------------------------------|
+| dn\_rpc\_address | 已设置为服务器的 IPV4 地址或域名 |
+| dn\_rpc\_port | 该端口未被占用 |
+| dn\_internal\_address | 已设置为服务器的 IPV4 地址或域名 |
+| dn\_internal\_port | 该端口未被占用 |
+| dn\_mpp\_data\_exchange\_port | 该端口未被占用 |
+| dn\_data\_region\_consensus\_port | 该端口未被占用 |
+| dn\_schema\_region\_consensus\_port | 该端口未被占用 |
+| dn\_target\_config\_node\_list | 已设置为正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址 |
-Windows 移除方式:
+检查完毕后,即可在服务器上运行启动脚本:
```
-# 根据 datanode_id 移除节点
-sbin\remove-datanode.bat <datanode_id>
+# Linux 前台启动
+bash ./sbin/start-datanode.sh
-# 根据 DataNode RPC 服务地址和端口移除节点
-sbin\remove-datanode.bat <rpc_address>:<rpc_port>
-```
+# Linux 后台启动
+nohup bash ./sbin/start-datanode.sh >/dev/null 2>&1 &
-## 快速上手
+# Windows
+.\sbin\start-datanode.bat
+```
-以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容:
+DataNode 的其它配置参数可参考
+[DataNode配置参数](https://iotdb.apache.org/zh/UserGuide/Master/Reference/DataNode-Config-Manual.html)。
-### 1. 准备启动环境
+**注意:当且仅当集群拥有不少于副本个数(max{schema\_replication\_factor, data\_replication\_factor})的 DataNode 后,集群才可以提供服务**
-解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster0 目录。
+## 6.2 启动 Cli
-### 2. 启动最小集群
+若搭建的集群仅用于本地调试,可直接执行 ./sbin 目录下的 Cli 启动脚本:
-在 Linux 环境中,部署 1 个 ConfigNode 和 1 个 DataNode(1C1D)集群版,默认 1 副本:
```
-./cluster0/sbin/start-confignode.sh
-./cluster0/sbin/start-datanode.sh
+# Linux
+./sbin/start-cli.sh
+
+# Windows
+.\sbin\start-cli.bat
```
-### 3. 验证最小集群
+若希望通过 Cli 连接生产环境的集群,
+请阅读 [Cli 使用手册](https://iotdb.apache.org/zh/UserGuide/Master/QuickStart/Command-Line-Interface.html)。
-+ 最小集群启动成功,启动 Cli 进行验证:
-```
-./cluster0/sbin/start-cli.sh
-```
+## 6.3 验证集群
+
+以本地启动的 3C3D(3个 ConfigNode 和3个 DataNode) 集群为例,
+在 Cli 执行 show cluster,结果如下:
-+ 在 Cli 执行 [show cluster](https://iotdb.apache.org/zh/UserGuide/Master/Maintenance-Tools/Maintenance-Command.html#%E6%9F%A5%E7%9C%8B%E5%85%A8%E9%83%A8%E8%8A%82%E7%82%B9%E4%BF%A1%E6%81%AF)
-指令,结果如下所示:
```
IoTDB> show cluster
Review Comment:
show cluster details
##########
docs/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -71,66 +75,53 @@ Then you will get the binary distribution under **distribution/target**, in whic
| sbin | Shell files folder, contains start/stop/remove shell of ConfigNode and DataNode, cli shell |
| tools | System tools |
-## Start the Cluster
-
-Users could start a cluster which contains multiple ConfigNode and DataNode.
-A cluster need at least one ConfigNode and no less than the number of data/schema_replication_factor DataNodes.
-
-The total process are three steps:
+# 5. Cluster Installation and Configuration
-* Start the first ConfigNode
-* Add ConfigNode (Optional)
-* Add DataNode
+## 5.1 Cluster Installation
-### Start the first ConfigNode
+Deploy apache-iotdb-1.0.0-SNAPSHOT-all-bin to the specified directory on the server or VM
+to complete cluster installation on a server or VM.
+Each apache-iotdb-1.0.0-SNAPSHOT-all-bin can start one ConfigNode and one DataNode.
-Please set the important parameters in conf/iotdb-confignode.properties and conf/iotdb-common.properties:
+## 5.2 Cluster Configuration
-iotdb-confignode.properties:
+Switch the working path to apache-iotdb-1.0.0-SNAPSHOT-all-bin.
+The cluster configuration files is stored in the ./conf directory.
-| **Configuration** | **Description** |
-|--------------------------------|----------------------------------------------------------------------------------------------|
-| cn\_internal\_address | Internal rpc service address of ConfigNode |
-| cn\_internal\_port | Internal rpc service port of ConfigNode |
-| cn\_consensus\_port | ConfigNode replication consensus protocol communication port |
-| cn\_target\_config\_node\_list | Target ConfigNode address, if the current ConfigNode is the first one, then set its own address:port |
+### 5.2.1 Common configuration
-iotdb-common.properties:
+Open the common configuration file ./conf/iotdb-common.properties,
+and set the following parameters base on the
+[Deployment Recommendation](https://iotdb.apache.org/UserGuide/Master/Cluster/Deployment-Recommendation.html):
| **Configuration** | **Description** |
|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
-| data\_replication\_factor | Data replication factor, no more than DataNode number |
-| data\_region\_consensus\_protocol\_class | Consensus protocol of data replicas. Note that RatisConsensus currently does not support multiple data directories |
+| config_node_consensus_protocol_class | Consensus protocol of ConfigNode |
Review Comment:
```suggestion
| config\_node\_consensus\_protocol\_class | Consensus protocol of ConfigNode |
```
##########
docs/zh/UserGuide/QuickStart/ClusterQuickStart.md:
##########
@@ -0,0 +1,170 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+# 快速上手
+
+以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容:
+
+## 1. 准备启动环境
+
+解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster0 目录。
+
+## 2. 启动最小集群
+
+在 Linux 环境中,部署 1 个 ConfigNode 和 1 个 DataNode(1C1D)集群版,默认 1 副本:
+```
+./cluster0/sbin/start-confignode.sh
+./cluster0/sbin/start-datanode.sh
+```
+
+## 3. 验证最小集群
+
++ 最小集群启动成功,启动 Cli 进行验证:
+```
+./cluster0/sbin/start-cli.sh
+```
+
++ 在 Cli 执行 [show cluster](https://iotdb.apache.org/zh/UserGuide/Master/Maintenance-Tools/Maintenance-Command.html#%E6%9F%A5%E7%9C%8B%E5%85%A8%E9%83%A8%E8%8A%82%E7%82%B9%E4%BF%A1%E6%81%AF)
+ 指令,结果如下所示:
+```
+IoTDB> show cluster
++------+----------+-------+---------------+------------+
+|NodeID| NodeType| Status|InternalAddress|InternalPort|
++------+----------+-------+---------------+------------+
+| 0|ConfigNode|Running| 127.0.0.1| 22277|
+| 1| DataNode|Running| 127.0.0.1| 9003|
++------+----------+-------+---------------+------------+
+Total line number = 2
+It costs 0.160s
+```
+
+## 4. 准备扩容环境
+
+解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster1 目录和 cluster2 目录
+
+## 5. 修改节点配置文件
+
+对于 cluster1 目录:
+
++ 修改 ConfigNode 配置:
+
+| **配置项** | **值** |
+|--------------------------------|-----------------|
+| cn\_internal\_address | 127.0.0.1 |
+| cn\_internal\_port | 22279 |
+| cn\_consensus\_port | 22280 |
+| cn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
++ 修改 DataNode 配置:
+
+| **配置项** | **值** |
+|-------------------------------------|-----------------|
+| dn\_rpc\_address | 127.0.0.1 |
+| dn\_rpc\_port | 6668 |
+| dn\_internal\_address | 127.0.0.1 |
+| dn\_internal\_port | 9004 |
+| dn\_mpp\_data\_exchange\_port | 8778 |
+| dn\_data\_region\_consensus\_port | 40011 |
+| dn\_schema\_region\_consensus\_port | 50011 |
+| dn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
+对于 cluster2 目录:
+
++ 修改 ConfigNode 配置:
+
+| **配置项** | **值** |
+|--------------------------------|-----------------|
+| cn\_internal\_address | 127.0.0.1 |
+| cn\_internal\_port | 22281 |
+| cn\_consensus\_port | 22282 |
+| cn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
++ 修改 DataNode 配置:
+
+| **配置项** | **值** |
+|-------------------------------------|-----------------|
+| dn\_rpc\_address | 127.0.0.1 |
+| dn\_rpc\_port | 6669 |
+| dn\_internal\_address | 127.0.0.1 |
+| dn\_internal\_port | 9005 |
+| dn\_mpp\_data\_exchange\_port | 8779 |
+| dn\_data\_region\_consensus\_port | 40012 |
+| dn\_schema\_region\_consensus\_port | 50012 |
+| dn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
+## 6. 集群扩容
+
+将集群扩容至 3 个 ConfigNode 和 3 个 DataNode(3C3D)集群版,
+指令执行顺序为先启动 ConfigNode,再启动 DataNode:
+```
+./cluster1/sbin/start-confignode.sh
+./cluster2/sbin/start-confignode.sh
+./cluster1/sbin/start-datanode.sh
+./cluster2/sbin/start-datanode.sh
+```
+
+## 7. 验证扩容结果
+
+在 Cli 执行 show cluster,结果如下:
+```
+IoTDB> show cluster
Review Comment:
show cluster details
##########
docs/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -71,66 +75,53 @@ Then you will get the binary distribution under **distribution/target**, in whic
| sbin | Shell files folder, contains start/stop/remove shell of ConfigNode and DataNode, cli shell |
| tools | System tools |
-## Start the Cluster
-
-Users could start a cluster which contains multiple ConfigNode and DataNode.
-A cluster need at least one ConfigNode and no less than the number of data/schema_replication_factor DataNodes.
-
-The total process are three steps:
+# 5. Cluster Installation and Configuration
-* Start the first ConfigNode
-* Add ConfigNode (Optional)
-* Add DataNode
+## 5.1 Cluster Installation
-### Start the first ConfigNode
+Deploy apache-iotdb-1.0.0-SNAPSHOT-all-bin to the specified directory on the server or VM
+to complete cluster installation on a server or VM.
+Each apache-iotdb-1.0.0-SNAPSHOT-all-bin can start one ConfigNode and one DataNode.
-Please set the important parameters in conf/iotdb-confignode.properties and conf/iotdb-common.properties:
+## 5.2 Cluster Configuration
-iotdb-confignode.properties:
+Switch the working path to apache-iotdb-1.0.0-SNAPSHOT-all-bin.
+The cluster configuration files is stored in the ./conf directory.
-| **Configuration** | **Description** |
-|--------------------------------|----------------------------------------------------------------------------------------------|
-| cn\_internal\_address | Internal rpc service address of ConfigNode |
-| cn\_internal\_port | Internal rpc service port of ConfigNode |
-| cn\_consensus\_port | ConfigNode replication consensus protocol communication port |
-| cn\_target\_config\_node\_list | Target ConfigNode address, if the current ConfigNode is the first one, then set its own address:port |
+### 5.2.1 Common configuration
-iotdb-common.properties:
+Open the common configuration file ./conf/iotdb-common.properties,
+and set the following parameters base on the
+[Deployment Recommendation](https://iotdb.apache.org/UserGuide/Master/Cluster/Deployment-Recommendation.html):
| **Configuration** | **Description** |
|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
-| data\_replication\_factor | Data replication factor, no more than DataNode number |
-| data\_region\_consensus\_protocol\_class | Consensus protocol of data replicas. Note that RatisConsensus currently does not support multiple data directories |
+| config_node_consensus_protocol_class | Consensus protocol of ConfigNode |
Review Comment:
add default value for all conf items?
##########
docs/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -143,284 +134,212 @@ Please set the important parameters in iotdb-datanode.properties:
| dn\_schema\_region\_consensus\_port | Schema replicas communication port for consensus |
| dn\_target\_config\_node\_list | Running ConfigNode of the Cluster |
-Start on Linux:
-```
-# Foreground
-bash ./sbin/start-datanode.sh
+**Notice: The preceding configuration parameters cannot be changed after the node is started. Ensure that all ports are not occupied. Otherwise, the Node cannot be started.**
-# Background
-nohup bash ./sbin/start-datanode.sh >/dev/null 2>&1 &
-```
+# 6. Cluster Operation
-Start on Windows:
-```
-sbin\start-datanode.bat
-```
+## 6.1 Starting the cluster
-More details are in [DataNode Configurations](https://iotdb.apache.org/UserGuide/Master/Reference/DataNode-Config-Manual.html).
+This section describes how to start a cluster that includes several ConfigNodes and DataNodes.
+The cluster can provide services only by starting at least one ConfigNode
+and no less than the number of data/schema_replication_factor DataNodes.
-### Stop IoTDB
-When you meet problem, and want to stop IoTDB ConfigNode and DataNode directly, our shells can help you do this.
+The total process are three steps:
-In Windows:
+* Start the Seed-ConfigNode
+* Add ConfigNode (Optional)
+* Add DataNode
-```
-sbin\stop-datanode.bat
-```
-```
-sbin\stop-confignode.bat
-```
-In Linux:
-```
-bash sbin/stop-datanode.sh
-```
-```
-bash sbin/stop-confignode.sh
-```
-Be careful not to miss the "sudo" label, because some port info's acquisition may require root authority. If you can't sudo, just
-use "jps" or "ps aux | grep iotdb" to get the process's id, then use "kill -9 <process-id>" to stop the process.
+### 6.1.1 Start the Seed-ConfigNode
-## Start StandAlone
-If you just want to setup your IoTDB locally,
-You can quickly init 1C1D (i.e. 1 Confignode and 1 Datanode) environment by our shells.
+The first ConfigNode to start is the Seed-ConfigNode, which marks the creation of the new cluster.
+Open the Seed-ConfigNode configuration file ./conf/iotdb-confignode.properties and set the following parameters:
-This will work well if you don't change our default settings.
+| **Configuration** | **Description** |
+|--------------------------------|----------------------------------------------------------------------------------------------------|
+| cn\_internal\_address | Internal rpc service address of ConfigNode |
+| cn\_internal\_port | Internal rpc service port of ConfigNode |
+| cn\_consensus\_port | ConfigNode replication consensus protocol communication port |
+| cn\_target\_config\_node\_list | Set it to its own internal communication address, that is cn\_internal\_address:cn\_internal\_port |
-Start on Windows:
-```
-sbin\start-standalone.bat
-```
-Start on Linux:
-```
-bash sbin/start-standalone.sh
+After the configuration is complete, run the startup script:
```
+# Linux foreground
+bash ./sbin/start-confignode.sh
-Besides, with our shell, you can also directly kill these processes.
+# Linux background
+nohup bash ./sbin/start-confignode.sh >/dev/null 2>&1 &
-Stop on Windows:
-```
-sbin\stop-standalone.bat
-```
-Stop on Linux:
-```
-bash sbin/stop-standalone.sh
+# Windows
+.\sbin\start-confignode.bat
```
-Note: On Linux, the 1C1D processes both launches in the background, and you can see the logs for details.
+For more details about other configuration parameters of ConfigNode, see the
+[ConfigNode Configurations](https://iotdb.apache.org/UserGuide/Master/Reference/ConfigNode-Config-Manual.html).
-The stop-standalone.sh may not work well without sudo, since IoTDB's port numbers may be invisible without permission.
-If stop-standalone.sh meets some error, you can use "jps" or "ps aux | grep iotdb" to obtain the process ids,
-and use "sudo kill -9 <process-id>" to manually stop the processes.
+### 6.1.2 Add ConfigNode (Optional)
-## Start Cli
+You can add more ConfigNodes to the cluster to ensure high availability of ConfigNodes.
+Ensure that all configuration parameters in the ./conf/iotdb-common.properites are the same as those in the Seed-ConfigNode;
+otherwise, it may fail to start or generate runtime errors.
+Open the configuration file ./conf/iotdb-confignode.properties for the new ConfigNode and set the following parameters:
-Cli shell is in sbin folder.
+| **Configuration** | **Description** |
+|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| cn\_internal\_address | Internal rpc service address of ConfigNode |
+| cn\_internal\_port | Internal rpc service port of ConfigNode |
+| cn\_consensus\_port | ConfigNode replication consensus protocol communication port |
+| cn\_target\_config\_node\_list | Configure the internal communication address of an arbitrary running ConfigNode. The internal communication address of the seed ConfigNode is recommended. |
-Start on Linux:
-```
-./datanode/sbin/start-cli.sh
+After the configuration is complete, run the startup script:
Review Comment:
add a blank
##########
docs/zh/UserGuide/QuickStart/ClusterQuickStart.md:
##########
@@ -0,0 +1,170 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+# 快速上手
+
+以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容:
+
+## 1. 准备启动环境
+
+解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster0 目录。
+
+## 2. 启动最小集群
+
+在 Linux 环境中,部署 1 个 ConfigNode 和 1 个 DataNode(1C1D)集群版,默认 1 副本:
+```
+./cluster0/sbin/start-confignode.sh
+./cluster0/sbin/start-datanode.sh
+```
+
+## 3. 验证最小集群
+
++ 最小集群启动成功,启动 Cli 进行验证:
+```
+./cluster0/sbin/start-cli.sh
+```
+
++ 在 Cli 执行 [show cluster](https://iotdb.apache.org/zh/UserGuide/Master/Maintenance-Tools/Maintenance-Command.html#%E6%9F%A5%E7%9C%8B%E5%85%A8%E9%83%A8%E8%8A%82%E7%82%B9%E4%BF%A1%E6%81%AF)
+ 指令,结果如下所示:
+```
+IoTDB> show cluster
++------+----------+-------+---------------+------------+
+|NodeID| NodeType| Status|InternalAddress|InternalPort|
++------+----------+-------+---------------+------------+
+| 0|ConfigNode|Running| 127.0.0.1| 22277|
+| 1| DataNode|Running| 127.0.0.1| 9003|
++------+----------+-------+---------------+------------+
+Total line number = 2
+It costs 0.160s
+```
+
+## 4. 准备扩容环境
+
+解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster1 目录和 cluster2 目录
+
+## 5. 修改节点配置文件
+
+对于 cluster1 目录:
+
++ 修改 ConfigNode 配置:
+
+| **配置项** | **值** |
+|--------------------------------|-----------------|
+| cn\_internal\_address | 127.0.0.1 |
+| cn\_internal\_port | 22279 |
+| cn\_consensus\_port | 22280 |
+| cn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
++ 修改 DataNode 配置:
+
+| **配置项** | **值** |
+|-------------------------------------|-----------------|
+| dn\_rpc\_address | 127.0.0.1 |
+| dn\_rpc\_port | 6668 |
+| dn\_internal\_address | 127.0.0.1 |
+| dn\_internal\_port | 9004 |
+| dn\_mpp\_data\_exchange\_port | 8778 |
+| dn\_data\_region\_consensus\_port | 40011 |
+| dn\_schema\_region\_consensus\_port | 50011 |
+| dn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
+对于 cluster2 目录:
+
++ 修改 ConfigNode 配置:
+
+| **配置项** | **值** |
+|--------------------------------|-----------------|
+| cn\_internal\_address | 127.0.0.1 |
+| cn\_internal\_port | 22281 |
+| cn\_consensus\_port | 22282 |
+| cn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
++ 修改 DataNode 配置:
+
+| **配置项** | **值** |
+|-------------------------------------|-----------------|
+| dn\_rpc\_address | 127.0.0.1 |
+| dn\_rpc\_port | 6669 |
+| dn\_internal\_address | 127.0.0.1 |
+| dn\_internal\_port | 9005 |
+| dn\_mpp\_data\_exchange\_port | 8779 |
+| dn\_data\_region\_consensus\_port | 40012 |
+| dn\_schema\_region\_consensus\_port | 50012 |
+| dn\_target\_config\_node\_list | 127.0.0.1:22277 |
+
+## 6. 集群扩容
+
+将集群扩容至 3 个 ConfigNode 和 3 个 DataNode(3C3D)集群版,
+指令执行顺序为先启动 ConfigNode,再启动 DataNode:
+```
+./cluster1/sbin/start-confignode.sh
+./cluster2/sbin/start-confignode.sh
+./cluster1/sbin/start-datanode.sh
+./cluster2/sbin/start-datanode.sh
+```
+
+## 7. 验证扩容结果
+
+在 Cli 执行 show cluster,结果如下:
+```
+IoTDB> show cluster
++------+----------+-------+---------------+------------+
+|NodeID| NodeType| Status|InternalAddress|InternalPort|
++------+----------+-------+---------------+------------+
+| 0|ConfigNode|Running| 127.0.0.1| 22277|
+| 2|ConfigNode|Running| 127.0.0.1| 22279|
+| 3|ConfigNode|Running| 127.0.0.1| 22281|
+| 1| DataNode|Running| 127.0.0.1| 9003|
+| 4| DataNode|Running| 127.0.0.1| 9004|
+| 5| DataNode|Running| 127.0.0.1| 9005|
++------+----------+-------+---------------+------------+
+Total line number = 6
+It costs 0.012s
+```
+
+## 8. 集群缩容
+
++ 缩容一个 ConfigNode:
+```
+./cluster0/sbin/remove-confignode.sh 127.0.0.1:22279
+```
+
++ 缩容一个 DataNode:
+```
+./cluster0/sbin/remove-datanode.sh 127.0.0.1:6668
+```
+
+## 9. 验证缩容结果
+
+在 Cli 执行 show cluster,结果如下:
+```
+IoTDB> show cluster
Review Comment:
show cluster details
##########
docs/zh/UserGuide/QuickStart/ClusterQuickStart.md:
##########
@@ -0,0 +1,170 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+# 快速上手
+
+以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容:
+
+## 1. 准备启动环境
+
+解压 apache-iotdb-1.0.0-all-bin.zip 至 cluster0 目录。
+
+## 2. 启动最小集群
+
+在 Linux 环境中,部署 1 个 ConfigNode 和 1 个 DataNode(1C1D)集群版,默认 1 副本:
+```
+./cluster0/sbin/start-confignode.sh
+./cluster0/sbin/start-datanode.sh
+```
+
+## 3. 验证最小集群
+
++ 最小集群启动成功,启动 Cli 进行验证:
+```
+./cluster0/sbin/start-cli.sh
+```
+
++ 在 Cli 执行 [show cluster](https://iotdb.apache.org/zh/UserGuide/Master/Maintenance-Tools/Maintenance-Command.html#%E6%9F%A5%E7%9C%8B%E5%85%A8%E9%83%A8%E8%8A%82%E7%82%B9%E4%BF%A1%E6%81%AF)
+ 指令,结果如下所示:
+```
+IoTDB> show cluster
Review Comment:
show cluster details
##########
docs/zh/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -19,47 +19,59 @@
-->
-## 集群设置
+# 1. 目标
本文档为 IoTDB 集群版(1.0.0)启动教程。
Review Comment:
```suggestion
本文档为 IoTDB 集群版(1.0.0)安装及启动教程。
```
##########
docs/zh/UserGuide/QuickStart/ClusterQuickStart.md:
##########
@@ -0,0 +1,170 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+# 快速上手
+
+以本地环境为例,演示 IoTDB 集群的启动、扩容与缩容:
Review Comment:
需要强调本地是伪分布式,通过应用不同的端口搭建起3C3D集群;
对于真实环境,默认端口不需要修改,只修改IP即可
##########
docs/zh/UserGuide/Cluster/Cluster-Setup.md:
##########
@@ -19,47 +19,59 @@
-->
-## 集群设置
+# 1. 目标
本文档为 IoTDB 集群版(1.0.0)启动教程。
-## 安装环境
+# 2. 前置检查
1. JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。
-
2. 设置最大文件打开数为 65535。
-
3. 关闭交换内存。
+4. 第一次启动节点时,确保该节点不存在 data 目录或 data 目录为空。
+5. 如果整个集群处在可信环境下,可以关闭机器上的防火墙选项。
+6. 在集群默认配置中,ConfigNode 会占用端口 22277 和 22278,DataNode 会占用端口 6667、8777、9003、40010 和 50010,
+请确保这些端口未被占用,或者手动修改配置文件中的端口配置。
-## 安装包获取
+# 3. 安装包获取
-### 下载
+你可以选择下载二进制文件(见 3.1)或从源代码编译(见 3.2)。
-可以直接在官网下载二进制版本 [Download Page](https://iotdb.apache.org/Download/)。
+## 3.1 下载二进制文件
-### 源码编译
+1. 打开官网[Download Page](https://iotdb.apache.org/Download/)。
+2. 下载 IoTDB 1.0.0 版本的二进制文件。
+3. 解压得到 apache-iotdb-1.0.0-all-bin 目录。
-下载源码:
-
-```
-git clone https://github.com/apache/iotdb.git
-```
+## 3.2 使用源码编译
-默认分支为 master 分支,你可以切换到发布版本的 tag,例如:
+### 3.2.1 下载源码
+**Git**
```
+git clone https://github.com/apache/iotdb.git
git checkout v1.0.0
```
-在 IoTDB 根目录下:
+**官网下载**
+1. 打开官网[Download Page](https://iotdb.apache.org/Download/)。
+2. 下载 IoTDB 1.0.0 版本的源码。
+3. 解压得到 apache-iotdb-1.0.0 目录。
+
+### 3.2.2 编译源码
+在 IoTDB 源码根目录下:
```
mvn clean package -pl distribution -am -DskipTests
```
-集群的二进制版本在目录 **distribution/target** 下,其中,all-bin 包含 ConfigNode 和 DataNode,DataNode 内包含 Cli。
+编译成功后,可在目录
+**distribution/target/apache-iotdb-1.0.0-SNAPSHOT-all-bin/apache-iotdb-1.0.0-SNAPSHOT-all-bin**
+找到集群版本的二进制文件。
-## 安装包说明
+# 4. 安装包说明
+
+打开 apache-iotdb-1.0.0-SNAPSHOT-all-bin,可见以下目录:
Review Comment:
conf、sbin目录的描述里需要加上“等”字。
conf,配置文件目录,包含 ConfigNode 和 DataNode 的配置文件
conf,配置文件目录,包含 ConfigNode、DataNode、JMX和logback等配置文件
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org