diff --git a/src/.vuepress/sidebar/V1.2.x/en.ts b/src/.vuepress/sidebar/V1.2.x/en.ts index e42f05d3..8460b790 100644 --- a/src/.vuepress/sidebar/V1.2.x/en.ts +++ b/src/.vuepress/sidebar/V1.2.x/en.ts @@ -180,6 +180,8 @@ export const enSidebar = { children: [ { text: 'UDF Libraries', link: 'UDF-Libraries' }, { text: 'Common Config Manual', link: 'Common-Config-Manual' }, + { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_apache' }, { text: 'Status Codes', link: 'Status-Codes' }, { text: 'Keywords', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar/V1.2.x/zh.ts b/src/.vuepress/sidebar/V1.2.x/zh.ts index e7329a8a..1dd7457e 100644 --- a/src/.vuepress/sidebar/V1.2.x/zh.ts +++ b/src/.vuepress/sidebar/V1.2.x/zh.ts @@ -166,7 +166,7 @@ export const zhSidebar = { { text: 'UDF函数库', link: 'UDF-Libraries' }, { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_apache' }, { text: '状态码', link: 'Status-Codes' }, { text: '关键字', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar/V1.3.0-2/en.ts b/src/.vuepress/sidebar/V1.3.0-2/en.ts index 0bc5f4f6..6c07449c 100644 --- a/src/.vuepress/sidebar/V1.3.0-2/en.ts +++ b/src/.vuepress/sidebar/V1.3.0-2/en.ts @@ -182,6 +182,8 @@ export const enSidebar = { { text: 'UDF development', link: 'UDF-development' }, { text: 'Function and Expression', link: 'Function-and-Expression' }, { text: 'Common Config Manual', link: 'Common-Config-Manual' }, + { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_apache' }, { text: 'Status Codes', link: 'Status-Codes' }, { text: 'Keywords', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar/V1.3.0-2/zh.ts b/src/.vuepress/sidebar/V1.3.0-2/zh.ts index 33214954..97759ef8 100644 --- a/src/.vuepress/sidebar/V1.3.0-2/zh.ts +++ b/src/.vuepress/sidebar/V1.3.0-2/zh.ts @@ -166,7 +166,7 @@ export const zhSidebar = { { text: '内置函数与表达式', link: 'Function-and-Expression' }, { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_apache' }, { text: '状态码', link: 'Status-Codes' }, { text: '关键字', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar/V1.3.3/en.ts b/src/.vuepress/sidebar/V1.3.3/en.ts index 7e3eb8d6..1b577346 100644 --- a/src/.vuepress/sidebar/V1.3.3/en.ts +++ b/src/.vuepress/sidebar/V1.3.3/en.ts @@ -231,7 +231,7 @@ export const enSidebar = { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual', }, - { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_apache' }, ], }, { diff --git a/src/.vuepress/sidebar/V1.3.3/zh.ts b/src/.vuepress/sidebar/V1.3.3/zh.ts index 42ae0c25..c09555a0 100644 --- a/src/.vuepress/sidebar/V1.3.3/zh.ts +++ b/src/.vuepress/sidebar/V1.3.3/zh.ts @@ -206,7 +206,7 @@ export const zhSidebar = { children: [ { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_apache' }, ], }, { diff --git a/src/.vuepress/sidebar_timecho/V1.2.x/en.ts b/src/.vuepress/sidebar_timecho/V1.2.x/en.ts index 90b14dfa..5411fcac 100644 --- a/src/.vuepress/sidebar_timecho/V1.2.x/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.2.x/en.ts @@ -185,7 +185,7 @@ export const enSidebar = { { text: 'UDF Libraries', link: 'UDF-Libraries' }, { text: 'Common Config Manual', link: 'Common-Config-Manual' }, { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_timecho' }, { text: 'Status Codes', link: 'Status-Codes' }, { text: 'Keywords', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts b/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts index 50851038..01912804 100644 --- a/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts @@ -174,7 +174,7 @@ export const zhSidebar = { { text: 'UDF函数库', link: 'UDF-Libraries' }, { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_timecho' }, { text: '状态码', link: 'Status-Codes' }, { text: '关键字', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts b/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts index 313ad447..1a9ee869 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts @@ -200,7 +200,7 @@ export const enSidebar = { { text: 'Function and Expression', link: 'Function-and-Expression' }, { text: 'Common Config Manual', link: 'Common-Config-Manual' }, { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_timecho' }, { text: 'Status Codes', link: 'Status-Codes' }, { text: 'Keywords', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts b/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts index f4d88041..834a0bf8 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts @@ -177,7 +177,7 @@ export const zhSidebar = { { text: '内置函数与表达式', link: 'Function-and-Expression' }, { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_timecho' }, { text: '状态码', link: 'Status-Codes' }, { text: '关键字', link: 'Keywords' }, ], diff --git a/src/.vuepress/sidebar_timecho/V1.3.3/en.ts b/src/.vuepress/sidebar_timecho/V1.3.3/en.ts index 207df653..f089ade8 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.3/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.3/en.ts @@ -250,7 +250,7 @@ export const enSidebar = { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual', }, - { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, + { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual_timecho' }, ], }, { diff --git a/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts b/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts index ff86aaa3..bbbe2914 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts @@ -221,7 +221,7 @@ export const zhSidebar = { children: [ { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_timecho' }, ], }, { diff --git a/src/.vuepress/sidebar_timecho/V2.0.1/zh-Tree.ts b/src/.vuepress/sidebar_timecho/V2.0.1/zh-Tree.ts index fde8e019..fa925200 100644 --- a/src/.vuepress/sidebar_timecho/V2.0.1/zh-Tree.ts +++ b/src/.vuepress/sidebar_timecho/V2.0.1/zh-Tree.ts @@ -221,7 +221,7 @@ export const zhSidebar = { children: [ { text: '配置参数', link: 'Common-Config-Manual' }, { text: 'ConfigNode配置参数', link: 'ConfigNode-Config-Manual' }, - { text: 'DataNode配置参数', link: 'DataNode-Config-Manual' }, + { text: 'DataNode配置参数', link: 'DataNode-Config-Manual_timecho' }, ], }, { diff --git a/src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md b/src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..5c686fdc --- /dev/null +++ b/src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,501 @@ + + +# DataNode Configuration Parameters + +We use the same configuration files for IoTDB DataNode and Standalone version, all under the `conf`. + +* `datanode-env.sh/bat`:Environment configurations, in which we could set the memory allocation of DataNode and Standalone. + +* `iotdb-system.properties`:IoTDB system configurations. + +## Hot Modification Configuration + +For the convenience of users, IoTDB provides users with hot modification function, that is, modifying some configuration parameters in `iotdb-system.properties` during the system operation and applying them to the system immediately. +In the parameters described below, these parameters whose way of `Effective` is `hot-load` support hot modification. + +Trigger way: The client sends the command(sql) `load configuration` or `set configuration` to the IoTDB server. + +## Environment Configuration File(datanode-env.sh/bat) + +The environment configuration file is mainly used to configure the Java environment related parameters when DataNode is running, such as JVM related configuration. This part of the configuration is passed to the JVM when the DataNode starts. + +The details of each parameter are as follows: + +* MEMORY\_SIZE + +|Name|MEMORY\_SIZE| +|:---:|:---| +|Description|The minimum heap memory size that IoTDB DataNode will use when startup | +|Type|String| +|Default| The default is a half of the memory.| +|Effective|After restarting system| + +* ON\_HEAP\_MEMORY + +|Name|ON\_HEAP\_MEMORY| +|:---:|:---| +|Description|The heap memory size that IoTDB DataNode can use, Former Name: MAX\_HEAP\_SIZE | +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* OFF\_HEAP\_MEMORY + +|Name|OFF\_HEAP\_MEMORY| +|:---:|:---| +|Description|The direct memory that IoTDB DataNode can use, Former Name: MAX\_DIRECT\_MEMORY\_SIZE| +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* JMX\_LOCAL + +|Name|JMX\_LOCAL| +|:---:|:---| +|Description|JMX monitoring mode, configured as yes to allow only local monitoring, no to allow remote monitoring| +|Type|Enum String: "true", "false"| +|Default|true| +|Effective|After restarting system| + +* JMX\_PORT + +|Name|JMX\_PORT| +|:---:|:---| +|Description|JMX listening port. Please confirm that the port is not a system reserved port and is not occupied| +|Type|Short Int: [0,65535]| +|Default|31999| +|Effective|After restarting system| + +* JMX\_IP + +|Name|JMX\_IP| +|:---:|:---| +|Description|JMX listening address. Only take effect if JMX\_LOCAL=false. 0.0.0.0 is never allowed| +|Type|String| +|Default|127.0.0.1| +|Effective|After restarting system| + +## JMX Authorization + +We **STRONGLY RECOMMENDED** you CHANGE the PASSWORD for the JMX remote connection. + +The user and passwords are in ${IOTDB\_CONF}/conf/jmx.password. + +The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access. + +## DataNode/Standalone Configuration File (iotdb-system.properties) + +### Data Node RPC Configuration + +* dn\_rpc\_address + +|Name| dn\_rpc\_address | +|:---:|:-----------------------------------------------| +|Description| The client rpc service listens on the address. | +|Type| String | +|Default| 0.0.0.0 | +|Effective| After restarting system | + +* dn\_rpc\_port + +|Name| dn\_rpc\_port | +|:---:|:---| +|Description| The client rpc service listens on the port.| +|Type|Short Int : [0,65535]| +|Default| 6667 | +|Effective|After restarting system| + +* dn\_internal\_address + +|Name| dn\_internal\_address | +|:---:|:---| +|Description| DataNode internal service host/IP | +|Type| string | +|Default| 127.0.0.1 | +|Effective|Only allowed to be modified in first start up| + +* dn\_internal\_port + +|Name| dn\_internal\_port | +|:---:|:-------------------------------| +|Description| DataNode internal service port | +|Type| int | +|Default| 10730 | +|Effective| Only allowed to be modified in first start up | + +* dn\_mpp\_data\_exchange\_port + +|Name| mpp\_data\_exchange\_port | +|:---:|:---| +|Description| MPP data exchange port | +|Type| int | +|Default| 10740 | +|Effective|Only allowed to be modified in first start up| + +* dn\_schema\_region\_consensus\_port + +|Name| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Schema replica communication port for consensus | +|Type| int | +|Default| 10750 | +|Effective|Only allowed to be modified in first start up| + +* dn\_data\_region\_consensus\_port + +|Name| dn\_data\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Data replica communication port for consensus | +|Type| int | +|Default| 10760 | +|Effective|Only allowed to be modified in first start up| + +* dn\_join\_cluster\_retry\_interval\_ms + +|Name| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:--------------------------------------------------------------------------| +|Description| The time of data node waiting for the next retry to join into the cluster | +|Type| long | +|Default| 5000 | +|Effective| After restarting system | + +### SSL Configuration + +* enable\_thrift\_ssl + +|Name| enable\_thrift\_ssl | +|:---:|:---------------------------| +|Description|When enable\_thrift\_ssl is configured as true, SSL encryption will be used for communication through dn\_rpc\_port | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* enable\_https + +|Name| enable\_https | +|:---:|:-------------------------| +|Description| REST Service Specifies whether to enable SSL configuration | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* key\_store\_path + +|Name| key\_store\_path | +|:---:|:-----------------| +|Description| SSL certificate path | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* key\_store\_pwd + +|Name| key\_store\_pwd | +|:---:|:----------------| +|Description| SSL certificate password | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +### SeedConfigNode + +* dn\_seed\_config\_node + +|Name| dn\_seed\_config\_node | +|:---:|:------------------------------------------------| +|Description| ConfigNode Address for DataNode to join cluster. This parameter is corresponding to dn\_target\_config\_node\_list before V1.2.2 | +|Type| String | +|Default| 127.0.0.1:10710 | +|Effective| Only allowed to be modified in first start up | + +### Connection Configuration + +* dn\_rpc\_thrift\_compression\_enable + +|Name| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's compression (using GZIP).| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_advanced\_compression\_enable + +|Name| dn\_rpc\_advanced\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's advanced compression.| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_selector\_thread\_count + +|Name| dn\_rpc\_selector\_thread\_count | +|:---:|:-----------------------------------| +|Description| The number of rpc selector thread. | +|Type| int | +|Default| false | +|Effective| After restarting system | + +* dn\_rpc\_min\_concurrent\_client\_num + +|Name| dn\_rpc\_min\_concurrent\_client\_num | +|:---:|:-----------------------------------| +|Description| Minimum concurrent rpc connections | +|Type| Short Int : [0,65535] | +|Description| 1 | +|Effective| After restarting system | + +* dn\_rpc\_max\_concurrent\_client\_num + +|Name| dn\_rpc\_max\_concurrent\_client\_num | +|:---:|:---| +|Description| Max concurrent rpc connections| +|Type| Short Int : [0,65535] | +|Description| 65535 | +|Effective|After restarting system| + +* dn\_thrift\_max\_frame\_size + +|Name| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|Description| Max size of bytes of each thrift RPC request/response| +|Type| Long | +|Unit|Byte| +|Default| 536870912 | +|Effective|After restarting system| + +* dn\_thrift\_init\_buffer\_size + +|Name| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|Description| Initial size of bytes of buffer that thrift used | +|Type| long | +|Default| 1024 | +|Effective|After restarting system| + +* dn\_connection\_timeout\_ms + +| Name | dn\_connection\_timeout\_ms | +|:-----------:|:---------------------------------------------------| +| Description | Thrift socket and connection timeout between nodes | +| Type | int | +| Default | 60000 | +| Effective | After restarting system | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------------:|:--------------------------------------------------------------| +| Description | Number of core clients routed to each node in a ClientManager | +| Type | int | +| Default | 200 | +| Effective | After restarting system | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:--------------:|:-------------------------------------------------------------| +| Description | Number of max clients routed to each node in a ClientManager | +| Type | int | +| Default | 300 | +| Effective | After restarting system | + +### Dictionary Configuration + +* dn\_system\_dir + +| Name | dn\_system\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The directories of system files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/system (Windows: data\\datanode\\system) | +| Effective | After restarting system | + +* dn\_data\_dirs + +| Name | dn\_data\_dirs | +|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | The directories of data files. Multiple directories are separated by comma. The starting directory of the relative path is related to the operating system. It is recommended to use an absolute path. If the path does not exist, the system will automatically create it. | +| Type | String[] | +| Default | data/datanode/data (Windows: data\\datanode\\data) | +| Effective | After restarting system | + +* dn\_multi\_dir\_strategy + +| Name | dn\_multi\_dir\_strategy | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | IoTDB's strategy for selecting directories for TsFile in tsfile_dir. You can use a simple class name or a full name of the class. The system provides the following three strategies:
1. SequenceStrategy: IoTDB selects the directory from tsfile\_dir in order, traverses all the directories in tsfile\_dir in turn, and keeps counting;
2. MaxDiskUsableSpaceFirstStrategy: IoTDB first selects the directory with the largest free disk space in tsfile\_dir;
You can complete a user-defined policy in the following ways:
1. Inherit the org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy class and implement its own Strategy method;
2. Fill in the configuration class with the full class name of the implemented class (package name plus class name, UserDfineStrategyPackage);
3. Add the jar file to the project. | +| Type | String | +| Default | SequenceStrategy | +| Effective | hot-load | + +* dn\_consensus\_dir + +| Name | dn\_consensus\_dir | +|:-----------:|:-------------------------------------------------------------------------------| +| Description | The directories of consensus files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/consensus | +| Effective | After restarting system | + +* dn\_wal\_dirs + +| Name | dn\_wal\_dirs | +|:-----------:|:-------------------------------------------------------------------------| +| Description | Write Ahead Log storage path. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/wal | +| Effective | After restarting system | + +* dn\_tracing\_dir + +| Name | dn\_tracing\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The tracing root directory path. It is recommended to use an absolute path. | +| Type | String | +| Default | datanode/tracing | +| Effective | After restarting system | + +* dn\_sync\_dir + +| Name | dn\_sync\_dir | +|:-----------:|:--------------------------------------------------------------------------| +| Description | The directories of sync files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/sync | +| Effective | After restarting system | + +### Metric Configuration + +## Enable GC log + +GC log is off by default. +For performance tuning, you may want to collect the GC info. + +To enable GC log, just add a parameter "printgc" when you start the DataNode. + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` +Or +```cmd +sbin\start-datanode.bat printgc +``` + +GC log is stored at `IOTDB_HOME/logs/gc.log`. +There will be at most 10 gc.log.* files and each one can reach to 10MB. + +### REST Service Configuration + +* enable\_rest\_service + +|Name| enable\_rest\_service | +|:---:|:--------------------------------------| +|Description| Whether to enable the Rest service | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_service\_port + +|Name| rest\_service\_port | +|:---:|:------------------| +|Description| The Rest service listens to the port number | +|Type| int32 | +|Default| 18080 | +|Effective| After restarting system | + +* enable\_swagger + +|Name| enable\_swagger | +|:---:|:-----------------------| +|Description| Whether to enable swagger to display rest interface information | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_query\_default\_row\_size\_limit + +|Name| rest\_query\_default\_row\_size\_limit | +|:---:|:------------------------------------------------------------------------------------------| +|Description| The maximum number of rows in a result set that can be returned by a query | +|Type| int32 | +|Default| 10000 | +|Effective| After restarting system | + +* cache\_expire + +|Name| cache\_expire | +|:---:|:--------------------------------------------------------| +|Description| Expiration time for caching customer login information | +|Type| int32 | +|Default| 28800 | +|Effective| After restarting system | + +* cache\_max\_num + +|Name| cache\_max\_num | +|:---:|:--------------| +|Description| The maximum number of users stored in the cache | +|Type| int32 | +|Default| 100 | +|Effective| After restarting system | + +* cache\_init\_num + +|Name| cache\_init\_num | +|:---:|:---------------| +|Description| Initial cache capacity | +|Type| int32 | +|Default| 10 | +|Effective| After restarting system | + + +* trust\_store\_path + +|Name| trust\_store\_path | +|:---:|:---------------| +|Description| keyStore Password (optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* trust\_store\_pwd + +|Name| trust\_store\_pwd | +|:---:|:---------------------------------| +|Description| trustStore Password (Optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* idle\_timeout + +|Name| idle\_timeout | +|:---:|:--------------| +|Description| SSL timeout duration, expressed in seconds | +|Type| int32 | +|Default| 5000 | +|Effective| After restarting system | + + diff --git a/src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual.md b/src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual.md rename to src/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md b/src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..7b1d9472 --- /dev/null +++ b/src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,361 @@ + + +# DataNode Configuration Parameters + +We use the same configuration files for IoTDB DataNode and Standalone version, all under the `conf`. + +* `datanode-env.sh/bat`:Environment configurations, in which we could set the memory allocation of DataNode and Standalone. + +* `iotdb-datanode.properties`:IoTDB DataNode system configurations. + +## Hot Modification Configuration + +For the convenience of users, IoTDB provides users with hot modification function, that is, modifying some configuration parameters in `iotdb-datanode.properties` and `iotdb-common.properties` during the system operation and applying them to the system immediately. +In the parameters described below, these parameters whose way of `Effective` is `hot-load` support hot modification. + +Trigger way: The client sends the command(sql) `load configuration` to the IoTDB server. + +## Environment Configuration File(datanode-env.sh/bat) + +The environment configuration file is mainly used to configure the Java environment related parameters when DataNode is running, such as JVM related configuration. This part of the configuration is passed to the JVM when the DataNode starts. + +The details of each parameter are as follows: + +* MAX\_HEAP\_SIZE + +|Name|MAX\_HEAP\_SIZE| +|:---:|:---| +|Description|The maximum heap memory size that IoTDB can use | +|Type|String| +|Default| On Linux or MacOS, the default is one quarter of the memory. On Windows, the default value for 32-bit systems is 512M, and the default for 64-bit systems is 2G.| +|Effective|After restarting system| + +* HEAP\_NEWSIZE + +|Name|HEAP\_NEWSIZE| +|:---:|:---| +|Description|The minimum heap memory size that IoTDB will use when startup | +|Type|String| +|Default| On Linux or MacOS, the default is min{cores * 100M, one quarter of MAX\_HEAP\_SIZE}. On Windows, the default value for 32-bit systems is 512M, and the default for 64-bit systems is 2G.| +|Effective|After restarting system| + +* MAX\_DIRECT\_MEMORY\_SIZE + +|Name|MAX\_DIRECT\_MEMORY\_SIZE| +|:---:|:---| +|Description|The max direct memory that IoTDB could use| +|Type|String| +|Default| Equal to the MAX\_HEAP\_SIZE| +|Effective|After restarting system| + +* JMX\_LOCAL + +|Name|JMX\_LOCAL| +|:---:|:---| +|Description|JMX monitoring mode, configured as yes to allow only local monitoring, no to allow remote monitoring| +|Type|Enum String: "true", "false"| +|Default|true| +|Effective|After restarting system| + +* JMX\_PORT + +|Name|JMX\_PORT| +|:---:|:---| +|Description|JMX listening port. Please confirm that the port is not a system reserved port and is not occupied| +|Type|Short Int: [0,65535]| +|Default|31999| +|Effective|After restarting system| + +* JMX\_IP + +|Name|JMX\_IP| +|:---:|:---| +|Description|JMX listening address. Only take effect if JMX\_LOCAL=false. 0.0.0.0 is never allowed| +|Type|String| +|Default|127.0.0.1| +|Effective|After restarting system| + +## JMX Authorization + +We **STRONGLY RECOMMENDED** you CHANGE the PASSWORD for the JMX remote connection. + +The user and passwords are in ${IOTDB\_CONF}/conf/jmx.password. + +The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access. + +## DataNode/Standalone Configuration File (iotdb-datanode.properties) + +### Data Node RPC Configuration + +* dn\_rpc\_address + +|Name| dn\_rpc\_address | +|:---:|:-----------------------------------------------| +|Description| The client rpc service listens on the address. | +|Type| String | +|Default| 0.0.0.0 | +|Effective| After restarting system | + +* dn\_rpc\_port + +|Name| dn\_rpc\_port | +|:---:|:---| +|Description| The client rpc service listens on the port.| +|Type|Short Int : [0,65535]| +|Default| 6667 | +|Effective|After restarting system| + +* dn\_internal\_address + +|Name| dn\_internal\_address | +|:---:|:---| +|Description| DataNode internal service host/IP | +|Type| string | +|Default| 127.0.0.1 | +|Effective|Only allowed to be modified in first start up| + +* dn\_internal\_port + +|Name| dn\_internal\_port | +|:---:|:-------------------------------| +|Description| DataNode internal service port | +|Type| int | +|Default| 10730 | +|Effective| Only allowed to be modified in first start up | + +* dn\_mpp\_data\_exchange\_port + +|Name| mpp\_data\_exchange\_port | +|:---:|:---| +|Description| MPP data exchange port | +|Type| int | +|Default| 10740 | +|Effective|Only allowed to be modified in first start up| + +* dn\_schema\_region\_consensus\_port + +|Name| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Schema replica communication port for consensus | +|Type| int | +|Default| 10750 | +|Effective|Only allowed to be modified in first start up| + +* dn\_data\_region\_consensus\_port + +|Name| dn\_data\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Data replica communication port for consensus | +|Type| int | +|Default| 10760 | +|Effective|Only allowed to be modified in first start up| + +* dn\_join\_cluster\_retry\_interval\_ms + +|Name| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:--------------------------------------------------------------------------| +|Description| The time of data node waiting for the next retry to join into the cluster | +|Type| long | +|Default| 5000 | +|Effective| After restarting system | + +### Target Config Nodes + +* dn\_target\_config\_node\_list + +|Name| dn\_target\_config\_node\_list | +|:---:|:------------------------------------------------| +|Description| ConfigNode Address for DataNode to join cluster | +|Type| String | +|Default| 127.0.0.1:10710 | +|Effective| Only allowed to be modified in first start up | + +### Connection Configuration + +* dn\_rpc\_thrift\_compression\_enable + +|Name| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's compression (using GZIP).| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_advanced\_compression\_enable + +|Name| dn\_rpc\_advanced\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's advanced compression.| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_selector\_thread\_count + +|Name| dn\_rpc\_selector\_thread\_count | +|:---:|:-----------------------------------| +|Description| The number of rpc selector thread. | +|Type| int | +|Default| false | +|Effective| After restarting system | + +* dn\_rpc\_min\_concurrent\_client\_num + +|Name| dn\_rpc\_min\_concurrent\_client\_num | +|:---:|:-----------------------------------| +|Description| Minimum concurrent rpc connections | +|Type| Short Int : [0,65535] | +|Description| 1 | +|Effective| After restarting system | + +* dn\_rpc\_max\_concurrent\_client\_num + +|Name| dn\_rpc\_max\_concurrent\_client\_num | +|:---:|:---| +|Description| Max concurrent rpc connections| +|Type| Short Int : [0,65535] | +|Description| 65535 | +|Effective|After restarting system| + +* dn\_thrift\_max\_frame\_size + +|Name| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|Description| Max size of bytes of each thrift RPC request/response| +|Type| Long | +|Unit|Byte| +|Default| 536870912 | +|Effective|After restarting system| + +* dn\_thrift\_init\_buffer\_size + +|Name| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|Description| Initial size of bytes of buffer that thrift used | +|Type| long | +|Default| 1024 | +|Effective|After restarting system| + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------------:|:--------------------------------------------------------------| +| Description | Number of core clients routed to each node in a ClientManager | +| Type | int | +| Default | 200 | +| Effective | After restarting system | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:--------------:|:-------------------------------------------------------------| +| Description | Number of max clients routed to each node in a ClientManager | +| Type | int | +| Default | 300 | +| Effective | After restarting system | + +### Dictionary Configuration + +* dn\_system\_dir + +| Name | dn\_system\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The directories of system files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/system (Windows: data\\datanode\\system) | +| Effective | After restarting system | + +* dn\_data\_dirs + +| Name | dn\_data\_dirs | +|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | The directories of data files. Multiple directories are separated by comma. The starting directory of the relative path is related to the operating system. It is recommended to use an absolute path. If the path does not exist, the system will automatically create it. | +| Type | String[] | +| Default | data/datanode/data (Windows: data\\datanode\\data) | +| Effective | After restarting system | + +* dn\_multi\_dir\_strategy + +| Name | dn\_multi\_dir\_strategy | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | IoTDB's strategy for selecting directories for TsFile in tsfile_dir. You can use a simple class name or a full name of the class. The system provides the following three strategies:
1. SequenceStrategy: IoTDB selects the directory from tsfile\_dir in order, traverses all the directories in tsfile\_dir in turn, and keeps counting;
2. MaxDiskUsableSpaceFirstStrategy: IoTDB first selects the directory with the largest free disk space in tsfile\_dir;
You can complete a user-defined policy in the following ways:
1. Inherit the org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy class and implement its own Strategy method;
2. Fill in the configuration class with the full class name of the implemented class (package name plus class name, UserDfineStrategyPackage);
3. Add the jar file to the project. | +| Type | String | +| Default | SequenceStrategy | +| Effective | hot-load | + +* dn\_consensus\_dir + +| Name | dn\_consensus\_dir | +|:-----------:|:-------------------------------------------------------------------------------| +| Description | The directories of consensus files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/consensus | +| Effective | After restarting system | + +* dn\_wal\_dirs + +| Name | dn\_wal\_dirs | +|:-----------:|:-------------------------------------------------------------------------| +| Description | Write Ahead Log storage path. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/wal | +| Effective | After restarting system | + +* dn\_tracing\_dir + +| Name | dn\_tracing\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The tracing root directory path. It is recommended to use an absolute path. | +| Type | String | +| Default | datanode/tracing | +| Effective | After restarting system | + +* dn\_sync\_dir + +| Name | dn\_sync\_dir | +|:-----------:|:--------------------------------------------------------------------------| +| Description | The directories of sync files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/sync | +| Effective | After restarting system | + +### Metric Configuration + +## Enable GC log + +GC log is off by default. +For performance tuning, you may want to collect the GC info. + +To enable GC log, just add a parameter "printgc" when you start the DataNode. + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` +Or +```cmd +sbin\start-datanode.bat printgc +``` + +GC log is stored at `IOTDB_HOME/logs/gc.log`. +There will be at most 10 gc.log.* files and each one can reach to 10MB. + + diff --git a/src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual.md b/src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual.md rename to src/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_apache.md b/src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..ea3f6328 --- /dev/null +++ b/src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,500 @@ + + +# DataNode Configuration Parameters + +We use the same configuration files for IoTDB DataNode and Standalone version, all under the `conf`. + +* `datanode-env.sh/bat`:Environment configurations, in which we could set the memory allocation of DataNode and Standalone. + +* `iotdb-datanode.properties`:IoTDB system configurations. + +## Hot Modification Configuration + +For the convenience of users, IoTDB provides users with hot modification function, that is, modifying some configuration parameters in `iotdb-datanode.properties` during the system operation and applying them to the system immediately. +In the parameters described below, these parameters whose way of `Effective` is `hot-load` support hot modification. + +Trigger way: The client sends the command(sql) `load configuration` or `set configuration` to the IoTDB server. + +## Environment Configuration File(datanode-env.sh/bat) + +The environment configuration file is mainly used to configure the Java environment related parameters when DataNode is running, such as JVM related configuration. This part of the configuration is passed to the JVM when the DataNode starts. + +The details of each parameter are as follows: + +* MEMORY\_SIZE + +|Name|MEMORY\_SIZE| +|:---:|:---| +|Description|The minimum heap memory size that IoTDB DataNode will use when startup | +|Type|String| +|Default| The default is a half of the memory.| +|Effective|After restarting system| + +* ON\_HEAP\_MEMORY + +|Name|ON\_HEAP\_MEMORY| +|:---:|:---| +|Description|The heap memory size that IoTDB DataNode can use, Former Name: MAX\_HEAP\_SIZE | +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* OFF\_HEAP\_MEMORY + +|Name|OFF\_HEAP\_MEMORY| +|:---:|:---| +|Description|The direct memory that IoTDB DataNode can use, Former Name: MAX\_DIRECT\_MEMORY\_SIZE| +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* JMX\_LOCAL + +|Name|JMX\_LOCAL| +|:---:|:---| +|Description|JMX monitoring mode, configured as yes to allow only local monitoring, no to allow remote monitoring| +|Type|Enum String: "true", "false"| +|Default|true| +|Effective|After restarting system| + +* JMX\_PORT + +|Name|JMX\_PORT| +|:---:|:---| +|Description|JMX listening port. Please confirm that the port is not a system reserved port and is not occupied| +|Type|Short Int: [0,65535]| +|Default|31999| +|Effective|After restarting system| + +* JMX\_IP + +|Name|JMX\_IP| +|:---:|:---| +|Description|JMX listening address. Only take effect if JMX\_LOCAL=false. 0.0.0.0 is never allowed| +|Type|String| +|Default|127.0.0.1| +|Effective|After restarting system| + +## JMX Authorization + +We **STRONGLY RECOMMENDED** you CHANGE the PASSWORD for the JMX remote connection. + +The user and passwords are in ${IOTDB\_CONF}/conf/jmx.password. + +The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access. + +## DataNode/Standalone Configuration File (iotdb-datanode.properties) + +### Data Node RPC Configuration + +* dn\_rpc\_address + +|Name| dn\_rpc\_address | +|:---:|:-----------------------------------------------| +|Description| The client rpc service listens on the address. | +|Type| String | +|Default| 0.0.0.0 | +|Effective| After restarting system | + +* dn\_rpc\_port + +|Name| dn\_rpc\_port | +|:---:|:---| +|Description| The client rpc service listens on the port.| +|Type|Short Int : [0,65535]| +|Default| 6667 | +|Effective|After restarting system| + +* dn\_internal\_address + +|Name| dn\_internal\_address | +|:---:|:---| +|Description| DataNode internal service host/IP | +|Type| string | +|Default| 127.0.0.1 | +|Effective|Only allowed to be modified in first start up| + +* dn\_internal\_port + +|Name| dn\_internal\_port | +|:---:|:-------------------------------| +|Description| DataNode internal service port | +|Type| int | +|Default| 10730 | +|Effective| Only allowed to be modified in first start up | + +* dn\_mpp\_data\_exchange\_port + +|Name| mpp\_data\_exchange\_port | +|:---:|:---| +|Description| MPP data exchange port | +|Type| int | +|Default| 10740 | +|Effective|Only allowed to be modified in first start up| + +* dn\_schema\_region\_consensus\_port + +|Name| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Schema replica communication port for consensus | +|Type| int | +|Default| 10750 | +|Effective|Only allowed to be modified in first start up| + +* dn\_data\_region\_consensus\_port + +|Name| dn\_data\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Data replica communication port for consensus | +|Type| int | +|Default| 10760 | +|Effective|Only allowed to be modified in first start up| + +* dn\_join\_cluster\_retry\_interval\_ms + +|Name| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:--------------------------------------------------------------------------| +|Description| The time of data node waiting for the next retry to join into the cluster | +|Type| long | +|Default| 5000 | +|Effective| After restarting system | + +### SSL Configuration + +* enable\_thrift\_ssl + +|Name| enable\_thrift\_ssl | +|:---:|:---------------------------| +|Description|When enable\_thrift\_ssl is configured as true, SSL encryption will be used for communication through dn\_rpc\_port | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* enable\_https + +|Name| enable\_https | +|:---:|:-------------------------| +|Description| REST Service Specifies whether to enable SSL configuration | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* key\_store\_path + +|Name| key\_store\_path | +|:---:|:-----------------| +|Description| SSL certificate path | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* key\_store\_pwd + +|Name| key\_store\_pwd | +|:---:|:----------------| +|Description| SSL certificate password | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +### Target Config Nodes + +* dn\_seed\_config\_node + +|Name| dn\_seed\_config\_node | +|:---:|:------------------------------------------------| +|Description| ConfigNode Address for DataNode to join cluster | +|Type| String | +|Default| 127.0.0.1:10710 | +|Effective| Only allowed to be modified in first start up | + +### Connection Configuration + +* dn\_rpc\_thrift\_compression\_enable + +|Name| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's compression (using GZIP).| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_advanced\_compression\_enable + +|Name| dn\_rpc\_advanced\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's advanced compression.| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_selector\_thread\_count + +|Name| dn\_rpc\_selector\_thread\_count | +|:---:|:-----------------------------------| +|Description| The number of rpc selector thread. | +|Type| int | +|Default| false | +|Effective| After restarting system | + +* dn\_rpc\_min\_concurrent\_client\_num + +|Name| dn\_rpc\_min\_concurrent\_client\_num | +|:---:|:-----------------------------------| +|Description| Minimum concurrent rpc connections | +|Type| Short Int : [0,65535] | +|Description| 1 | +|Effective| After restarting system | + +* dn\_rpc\_max\_concurrent\_client\_num + +|Name| dn\_rpc\_max\_concurrent\_client\_num | +|:---:|:---| +|Description| Max concurrent rpc connections| +|Type| Short Int : [0,65535] | +|Description| 65535 | +|Effective|After restarting system| + +* dn\_thrift\_max\_frame\_size + +|Name| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|Description| Max size of bytes of each thrift RPC request/response| +|Type| Long | +|Unit|Byte| +|Default| 536870912 | +|Effective|After restarting system| + +* dn\_thrift\_init\_buffer\_size + +|Name| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|Description| Initial size of bytes of buffer that thrift used | +|Type| long | +|Default| 1024 | +|Effective|After restarting system| + +* dn\_connection\_timeout\_ms + +| Name | dn\_connection\_timeout\_ms | +|:-----------:|:---------------------------------------------------| +| Description | Thrift socket and connection timeout between nodes | +| Type | int | +| Default | 60000 | +| Effective | After restarting system | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------------:|:--------------------------------------------------------------| +| Description | Number of core clients routed to each node in a ClientManager | +| Type | int | +| Default | 200 | +| Effective | After restarting system | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:--------------:|:-------------------------------------------------------------| +| Description | Number of max clients routed to each node in a ClientManager | +| Type | int | +| Default | 300 | +| Effective | After restarting system | + +### Dictionary Configuration + +* dn\_system\_dir + +| Name | dn\_system\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The directories of system files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/system (Windows: data\\datanode\\system) | +| Effective | After restarting system | + +* dn\_data\_dirs + +| Name | dn\_data\_dirs | +|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | The directories of data files. Multiple directories are separated by comma. The starting directory of the relative path is related to the operating system. It is recommended to use an absolute path. If the path does not exist, the system will automatically create it. | +| Type | String[] | +| Default | data/datanode/data (Windows: data\\datanode\\data) | +| Effective | After restarting system | + +* dn\_multi\_dir\_strategy + +| Name | dn\_multi\_dir\_strategy | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | IoTDB's strategy for selecting directories for TsFile in tsfile_dir. You can use a simple class name or a full name of the class. The system provides the following three strategies:
1. SequenceStrategy: IoTDB selects the directory from tsfile\_dir in order, traverses all the directories in tsfile\_dir in turn, and keeps counting;
2. MaxDiskUsableSpaceFirstStrategy: IoTDB first selects the directory with the largest free disk space in tsfile\_dir;
You can complete a user-defined policy in the following ways:
1. Inherit the org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy class and implement its own Strategy method;
2. Fill in the configuration class with the full class name of the implemented class (package name plus class name, UserDfineStrategyPackage);
3. Add the jar file to the project. | +| Type | String | +| Default | SequenceStrategy | +| Effective | hot-load | + +* dn\_consensus\_dir + +| Name | dn\_consensus\_dir | +|:-----------:|:-------------------------------------------------------------------------------| +| Description | The directories of consensus files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/consensus | +| Effective | After restarting system | + +* dn\_wal\_dirs + +| Name | dn\_wal\_dirs | +|:-----------:|:-------------------------------------------------------------------------| +| Description | Write Ahead Log storage path. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/wal | +| Effective | After restarting system | + +* dn\_tracing\_dir + +| Name | dn\_tracing\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The tracing root directory path. It is recommended to use an absolute path. | +| Type | String | +| Default | datanode/tracing | +| Effective | After restarting system | + +* dn\_sync\_dir + +| Name | dn\_sync\_dir | +|:-----------:|:--------------------------------------------------------------------------| +| Description | The directories of sync files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/sync | +| Effective | After restarting system | + +### Metric Configuration + +## Enable GC log + +GC log is off by default. +For performance tuning, you may want to collect the GC info. + +To enable GC log, just add a parameter "printgc" when you start the DataNode. + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` +Or +```cmd +sbin\start-datanode.bat printgc +``` + +GC log is stored at `IOTDB_HOME/logs/gc.log`. +There will be at most 10 gc.log.* files and each one can reach to 10MB. + +### REST Service Configuration + +* enable\_rest\_service + +|Name| enable\_rest\_service | +|:---:|:--------------------------------------| +|Description| Whether to enable the Rest service | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_service\_port + +|Name| rest\_service\_port | +|:---:|:------------------| +|Description| The Rest service listens to the port number | +|Type| int32 | +|Default| 18080 | +|Effective| After restarting system | + +* enable\_swagger + +|Name| enable\_swagger | +|:---:|:-----------------------| +|Description| Whether to enable swagger to display rest interface information | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_query\_default\_row\_size\_limit + +|Name| rest\_query\_default\_row\_size\_limit | +|:---:|:------------------------------------------------------------------------------------------| +|Description| The maximum number of rows in a result set that can be returned by a query | +|Type| int32 | +|Default| 10000 | +|Effective| After restarting system | + +* cache\_expire + +|Name| cache\_expire | +|:---:|:--------------------------------------------------------| +|Description| Expiration time for caching customer login information | +|Type| int32 | +|Default| 28800 | +|Effective| After restarting system | + +* cache\_max\_num + +|Name| cache\_max\_num | +|:---:|:--------------| +|Description| The maximum number of users stored in the cache | +|Type| int32 | +|Default| 100 | +|Effective| After restarting system | + +* cache\_init\_num + +|Name| cache\_init\_num | +|:---:|:---------------| +|Description| Initial cache capacity | +|Type| int32 | +|Default| 10 | +|Effective| After restarting system | + + +* trust\_store\_path + +|Name| trust\_store\_path | +|:---:|:---------------| +|Description| keyStore Password (optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* trust\_store\_pwd + +|Name| trust\_store\_pwd | +|:---:|:---------------------------------| +|Description| trustStore Password (Optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* idle\_timeout + +|Name| idle\_timeout | +|:---:|:--------------| +|Description| SSL timeout duration, expressed in seconds | +|Type| int32 | +|Default| 5000 | +|Effective| After restarting system | + diff --git a/src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual.md b/src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual.md rename to src/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md b/src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..5c686fdc --- /dev/null +++ b/src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,501 @@ + + +# DataNode Configuration Parameters + +We use the same configuration files for IoTDB DataNode and Standalone version, all under the `conf`. + +* `datanode-env.sh/bat`:Environment configurations, in which we could set the memory allocation of DataNode and Standalone. + +* `iotdb-system.properties`:IoTDB system configurations. + +## Hot Modification Configuration + +For the convenience of users, IoTDB provides users with hot modification function, that is, modifying some configuration parameters in `iotdb-system.properties` during the system operation and applying them to the system immediately. +In the parameters described below, these parameters whose way of `Effective` is `hot-load` support hot modification. + +Trigger way: The client sends the command(sql) `load configuration` or `set configuration` to the IoTDB server. + +## Environment Configuration File(datanode-env.sh/bat) + +The environment configuration file is mainly used to configure the Java environment related parameters when DataNode is running, such as JVM related configuration. This part of the configuration is passed to the JVM when the DataNode starts. + +The details of each parameter are as follows: + +* MEMORY\_SIZE + +|Name|MEMORY\_SIZE| +|:---:|:---| +|Description|The minimum heap memory size that IoTDB DataNode will use when startup | +|Type|String| +|Default| The default is a half of the memory.| +|Effective|After restarting system| + +* ON\_HEAP\_MEMORY + +|Name|ON\_HEAP\_MEMORY| +|:---:|:---| +|Description|The heap memory size that IoTDB DataNode can use, Former Name: MAX\_HEAP\_SIZE | +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* OFF\_HEAP\_MEMORY + +|Name|OFF\_HEAP\_MEMORY| +|:---:|:---| +|Description|The direct memory that IoTDB DataNode can use, Former Name: MAX\_DIRECT\_MEMORY\_SIZE| +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* JMX\_LOCAL + +|Name|JMX\_LOCAL| +|:---:|:---| +|Description|JMX monitoring mode, configured as yes to allow only local monitoring, no to allow remote monitoring| +|Type|Enum String: "true", "false"| +|Default|true| +|Effective|After restarting system| + +* JMX\_PORT + +|Name|JMX\_PORT| +|:---:|:---| +|Description|JMX listening port. Please confirm that the port is not a system reserved port and is not occupied| +|Type|Short Int: [0,65535]| +|Default|31999| +|Effective|After restarting system| + +* JMX\_IP + +|Name|JMX\_IP| +|:---:|:---| +|Description|JMX listening address. Only take effect if JMX\_LOCAL=false. 0.0.0.0 is never allowed| +|Type|String| +|Default|127.0.0.1| +|Effective|After restarting system| + +## JMX Authorization + +We **STRONGLY RECOMMENDED** you CHANGE the PASSWORD for the JMX remote connection. + +The user and passwords are in ${IOTDB\_CONF}/conf/jmx.password. + +The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access. + +## DataNode/Standalone Configuration File (iotdb-system.properties) + +### Data Node RPC Configuration + +* dn\_rpc\_address + +|Name| dn\_rpc\_address | +|:---:|:-----------------------------------------------| +|Description| The client rpc service listens on the address. | +|Type| String | +|Default| 0.0.0.0 | +|Effective| After restarting system | + +* dn\_rpc\_port + +|Name| dn\_rpc\_port | +|:---:|:---| +|Description| The client rpc service listens on the port.| +|Type|Short Int : [0,65535]| +|Default| 6667 | +|Effective|After restarting system| + +* dn\_internal\_address + +|Name| dn\_internal\_address | +|:---:|:---| +|Description| DataNode internal service host/IP | +|Type| string | +|Default| 127.0.0.1 | +|Effective|Only allowed to be modified in first start up| + +* dn\_internal\_port + +|Name| dn\_internal\_port | +|:---:|:-------------------------------| +|Description| DataNode internal service port | +|Type| int | +|Default| 10730 | +|Effective| Only allowed to be modified in first start up | + +* dn\_mpp\_data\_exchange\_port + +|Name| mpp\_data\_exchange\_port | +|:---:|:---| +|Description| MPP data exchange port | +|Type| int | +|Default| 10740 | +|Effective|Only allowed to be modified in first start up| + +* dn\_schema\_region\_consensus\_port + +|Name| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Schema replica communication port for consensus | +|Type| int | +|Default| 10750 | +|Effective|Only allowed to be modified in first start up| + +* dn\_data\_region\_consensus\_port + +|Name| dn\_data\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Data replica communication port for consensus | +|Type| int | +|Default| 10760 | +|Effective|Only allowed to be modified in first start up| + +* dn\_join\_cluster\_retry\_interval\_ms + +|Name| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:--------------------------------------------------------------------------| +|Description| The time of data node waiting for the next retry to join into the cluster | +|Type| long | +|Default| 5000 | +|Effective| After restarting system | + +### SSL Configuration + +* enable\_thrift\_ssl + +|Name| enable\_thrift\_ssl | +|:---:|:---------------------------| +|Description|When enable\_thrift\_ssl is configured as true, SSL encryption will be used for communication through dn\_rpc\_port | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* enable\_https + +|Name| enable\_https | +|:---:|:-------------------------| +|Description| REST Service Specifies whether to enable SSL configuration | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* key\_store\_path + +|Name| key\_store\_path | +|:---:|:-----------------| +|Description| SSL certificate path | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* key\_store\_pwd + +|Name| key\_store\_pwd | +|:---:|:----------------| +|Description| SSL certificate password | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +### SeedConfigNode + +* dn\_seed\_config\_node + +|Name| dn\_seed\_config\_node | +|:---:|:------------------------------------------------| +|Description| ConfigNode Address for DataNode to join cluster. This parameter is corresponding to dn\_target\_config\_node\_list before V1.2.2 | +|Type| String | +|Default| 127.0.0.1:10710 | +|Effective| Only allowed to be modified in first start up | + +### Connection Configuration + +* dn\_rpc\_thrift\_compression\_enable + +|Name| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's compression (using GZIP).| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_advanced\_compression\_enable + +|Name| dn\_rpc\_advanced\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's advanced compression.| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_selector\_thread\_count + +|Name| dn\_rpc\_selector\_thread\_count | +|:---:|:-----------------------------------| +|Description| The number of rpc selector thread. | +|Type| int | +|Default| false | +|Effective| After restarting system | + +* dn\_rpc\_min\_concurrent\_client\_num + +|Name| dn\_rpc\_min\_concurrent\_client\_num | +|:---:|:-----------------------------------| +|Description| Minimum concurrent rpc connections | +|Type| Short Int : [0,65535] | +|Description| 1 | +|Effective| After restarting system | + +* dn\_rpc\_max\_concurrent\_client\_num + +|Name| dn\_rpc\_max\_concurrent\_client\_num | +|:---:|:---| +|Description| Max concurrent rpc connections| +|Type| Short Int : [0,65535] | +|Description| 65535 | +|Effective|After restarting system| + +* dn\_thrift\_max\_frame\_size + +|Name| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|Description| Max size of bytes of each thrift RPC request/response| +|Type| Long | +|Unit|Byte| +|Default| 536870912 | +|Effective|After restarting system| + +* dn\_thrift\_init\_buffer\_size + +|Name| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|Description| Initial size of bytes of buffer that thrift used | +|Type| long | +|Default| 1024 | +|Effective|After restarting system| + +* dn\_connection\_timeout\_ms + +| Name | dn\_connection\_timeout\_ms | +|:-----------:|:---------------------------------------------------| +| Description | Thrift socket and connection timeout between nodes | +| Type | int | +| Default | 60000 | +| Effective | After restarting system | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------------:|:--------------------------------------------------------------| +| Description | Number of core clients routed to each node in a ClientManager | +| Type | int | +| Default | 200 | +| Effective | After restarting system | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:--------------:|:-------------------------------------------------------------| +| Description | Number of max clients routed to each node in a ClientManager | +| Type | int | +| Default | 300 | +| Effective | After restarting system | + +### Dictionary Configuration + +* dn\_system\_dir + +| Name | dn\_system\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The directories of system files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/system (Windows: data\\datanode\\system) | +| Effective | After restarting system | + +* dn\_data\_dirs + +| Name | dn\_data\_dirs | +|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | The directories of data files. Multiple directories are separated by comma. The starting directory of the relative path is related to the operating system. It is recommended to use an absolute path. If the path does not exist, the system will automatically create it. | +| Type | String[] | +| Default | data/datanode/data (Windows: data\\datanode\\data) | +| Effective | After restarting system | + +* dn\_multi\_dir\_strategy + +| Name | dn\_multi\_dir\_strategy | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | IoTDB's strategy for selecting directories for TsFile in tsfile_dir. You can use a simple class name or a full name of the class. The system provides the following three strategies:
1. SequenceStrategy: IoTDB selects the directory from tsfile\_dir in order, traverses all the directories in tsfile\_dir in turn, and keeps counting;
2. MaxDiskUsableSpaceFirstStrategy: IoTDB first selects the directory with the largest free disk space in tsfile\_dir;
You can complete a user-defined policy in the following ways:
1. Inherit the org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy class and implement its own Strategy method;
2. Fill in the configuration class with the full class name of the implemented class (package name plus class name, UserDfineStrategyPackage);
3. Add the jar file to the project. | +| Type | String | +| Default | SequenceStrategy | +| Effective | hot-load | + +* dn\_consensus\_dir + +| Name | dn\_consensus\_dir | +|:-----------:|:-------------------------------------------------------------------------------| +| Description | The directories of consensus files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/consensus | +| Effective | After restarting system | + +* dn\_wal\_dirs + +| Name | dn\_wal\_dirs | +|:-----------:|:-------------------------------------------------------------------------| +| Description | Write Ahead Log storage path. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/wal | +| Effective | After restarting system | + +* dn\_tracing\_dir + +| Name | dn\_tracing\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The tracing root directory path. It is recommended to use an absolute path. | +| Type | String | +| Default | datanode/tracing | +| Effective | After restarting system | + +* dn\_sync\_dir + +| Name | dn\_sync\_dir | +|:-----------:|:--------------------------------------------------------------------------| +| Description | The directories of sync files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/sync | +| Effective | After restarting system | + +### Metric Configuration + +## Enable GC log + +GC log is off by default. +For performance tuning, you may want to collect the GC info. + +To enable GC log, just add a parameter "printgc" when you start the DataNode. + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` +Or +```cmd +sbin\start-datanode.bat printgc +``` + +GC log is stored at `IOTDB_HOME/logs/gc.log`. +There will be at most 10 gc.log.* files and each one can reach to 10MB. + +### REST Service Configuration + +* enable\_rest\_service + +|Name| enable\_rest\_service | +|:---:|:--------------------------------------| +|Description| Whether to enable the Rest service | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_service\_port + +|Name| rest\_service\_port | +|:---:|:------------------| +|Description| The Rest service listens to the port number | +|Type| int32 | +|Default| 18080 | +|Effective| After restarting system | + +* enable\_swagger + +|Name| enable\_swagger | +|:---:|:-----------------------| +|Description| Whether to enable swagger to display rest interface information | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_query\_default\_row\_size\_limit + +|Name| rest\_query\_default\_row\_size\_limit | +|:---:|:------------------------------------------------------------------------------------------| +|Description| The maximum number of rows in a result set that can be returned by a query | +|Type| int32 | +|Default| 10000 | +|Effective| After restarting system | + +* cache\_expire + +|Name| cache\_expire | +|:---:|:--------------------------------------------------------| +|Description| Expiration time for caching customer login information | +|Type| int32 | +|Default| 28800 | +|Effective| After restarting system | + +* cache\_max\_num + +|Name| cache\_max\_num | +|:---:|:--------------| +|Description| The maximum number of users stored in the cache | +|Type| int32 | +|Default| 100 | +|Effective| After restarting system | + +* cache\_init\_num + +|Name| cache\_init\_num | +|:---:|:---------------| +|Description| Initial cache capacity | +|Type| int32 | +|Default| 10 | +|Effective| After restarting system | + + +* trust\_store\_path + +|Name| trust\_store\_path | +|:---:|:---------------| +|Description| keyStore Password (optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* trust\_store\_pwd + +|Name| trust\_store\_pwd | +|:---:|:---------------------------------| +|Description| trustStore Password (Optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* idle\_timeout + +|Name| idle\_timeout | +|:---:|:--------------| +|Description| SSL timeout duration, expressed in seconds | +|Type| int32 | +|Default| 5000 | +|Effective| After restarting system | + + diff --git a/src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual.md b/src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual.md rename to src/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md b/src/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..5c686fdc --- /dev/null +++ b/src/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,501 @@ + + +# DataNode Configuration Parameters + +We use the same configuration files for IoTDB DataNode and Standalone version, all under the `conf`. + +* `datanode-env.sh/bat`:Environment configurations, in which we could set the memory allocation of DataNode and Standalone. + +* `iotdb-system.properties`:IoTDB system configurations. + +## Hot Modification Configuration + +For the convenience of users, IoTDB provides users with hot modification function, that is, modifying some configuration parameters in `iotdb-system.properties` during the system operation and applying them to the system immediately. +In the parameters described below, these parameters whose way of `Effective` is `hot-load` support hot modification. + +Trigger way: The client sends the command(sql) `load configuration` or `set configuration` to the IoTDB server. + +## Environment Configuration File(datanode-env.sh/bat) + +The environment configuration file is mainly used to configure the Java environment related parameters when DataNode is running, such as JVM related configuration. This part of the configuration is passed to the JVM when the DataNode starts. + +The details of each parameter are as follows: + +* MEMORY\_SIZE + +|Name|MEMORY\_SIZE| +|:---:|:---| +|Description|The minimum heap memory size that IoTDB DataNode will use when startup | +|Type|String| +|Default| The default is a half of the memory.| +|Effective|After restarting system| + +* ON\_HEAP\_MEMORY + +|Name|ON\_HEAP\_MEMORY| +|:---:|:---| +|Description|The heap memory size that IoTDB DataNode can use, Former Name: MAX\_HEAP\_SIZE | +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* OFF\_HEAP\_MEMORY + +|Name|OFF\_HEAP\_MEMORY| +|:---:|:---| +|Description|The direct memory that IoTDB DataNode can use, Former Name: MAX\_DIRECT\_MEMORY\_SIZE| +|Type|String| +|Default| Calculate based on MEMORY\_SIZE.| +|Effective|After restarting system| + +* JMX\_LOCAL + +|Name|JMX\_LOCAL| +|:---:|:---| +|Description|JMX monitoring mode, configured as yes to allow only local monitoring, no to allow remote monitoring| +|Type|Enum String: "true", "false"| +|Default|true| +|Effective|After restarting system| + +* JMX\_PORT + +|Name|JMX\_PORT| +|:---:|:---| +|Description|JMX listening port. Please confirm that the port is not a system reserved port and is not occupied| +|Type|Short Int: [0,65535]| +|Default|31999| +|Effective|After restarting system| + +* JMX\_IP + +|Name|JMX\_IP| +|:---:|:---| +|Description|JMX listening address. Only take effect if JMX\_LOCAL=false. 0.0.0.0 is never allowed| +|Type|String| +|Default|127.0.0.1| +|Effective|After restarting system| + +## JMX Authorization + +We **STRONGLY RECOMMENDED** you CHANGE the PASSWORD for the JMX remote connection. + +The user and passwords are in ${IOTDB\_CONF}/conf/jmx.password. + +The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access. + +## DataNode/Standalone Configuration File (iotdb-system.properties) + +### Data Node RPC Configuration + +* dn\_rpc\_address + +|Name| dn\_rpc\_address | +|:---:|:-----------------------------------------------| +|Description| The client rpc service listens on the address. | +|Type| String | +|Default| 0.0.0.0 | +|Effective| After restarting system | + +* dn\_rpc\_port + +|Name| dn\_rpc\_port | +|:---:|:---| +|Description| The client rpc service listens on the port.| +|Type|Short Int : [0,65535]| +|Default| 6667 | +|Effective|After restarting system| + +* dn\_internal\_address + +|Name| dn\_internal\_address | +|:---:|:---| +|Description| DataNode internal service host/IP | +|Type| string | +|Default| 127.0.0.1 | +|Effective|Only allowed to be modified in first start up| + +* dn\_internal\_port + +|Name| dn\_internal\_port | +|:---:|:-------------------------------| +|Description| DataNode internal service port | +|Type| int | +|Default| 10730 | +|Effective| Only allowed to be modified in first start up | + +* dn\_mpp\_data\_exchange\_port + +|Name| mpp\_data\_exchange\_port | +|:---:|:---| +|Description| MPP data exchange port | +|Type| int | +|Default| 10740 | +|Effective|Only allowed to be modified in first start up| + +* dn\_schema\_region\_consensus\_port + +|Name| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Schema replica communication port for consensus | +|Type| int | +|Default| 10750 | +|Effective|Only allowed to be modified in first start up| + +* dn\_data\_region\_consensus\_port + +|Name| dn\_data\_region\_consensus\_port | +|:---:|:---| +|Description| DataNode Data replica communication port for consensus | +|Type| int | +|Default| 10760 | +|Effective|Only allowed to be modified in first start up| + +* dn\_join\_cluster\_retry\_interval\_ms + +|Name| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:--------------------------------------------------------------------------| +|Description| The time of data node waiting for the next retry to join into the cluster | +|Type| long | +|Default| 5000 | +|Effective| After restarting system | + +### SSL Configuration + +* enable\_thrift\_ssl + +|Name| enable\_thrift\_ssl | +|:---:|:---------------------------| +|Description|When enable\_thrift\_ssl is configured as true, SSL encryption will be used for communication through dn\_rpc\_port | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* enable\_https + +|Name| enable\_https | +|:---:|:-------------------------| +|Description| REST Service Specifies whether to enable SSL configuration | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* key\_store\_path + +|Name| key\_store\_path | +|:---:|:-----------------| +|Description| SSL certificate path | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* key\_store\_pwd + +|Name| key\_store\_pwd | +|:---:|:----------------| +|Description| SSL certificate password | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +### SeedConfigNode + +* dn\_seed\_config\_node + +|Name| dn\_seed\_config\_node | +|:---:|:------------------------------------------------| +|Description| ConfigNode Address for DataNode to join cluster. This parameter is corresponding to dn\_target\_config\_node\_list before V1.2.2 | +|Type| String | +|Default| 127.0.0.1:10710 | +|Effective| Only allowed to be modified in first start up | + +### Connection Configuration + +* dn\_rpc\_thrift\_compression\_enable + +|Name| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's compression (using GZIP).| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_advanced\_compression\_enable + +|Name| dn\_rpc\_advanced\_compression\_enable | +|:---:|:---| +|Description| Whether enable thrift's advanced compression.| +|Type|Boolean| +|Default| false | +|Effective|After restarting system| + +* dn\_rpc\_selector\_thread\_count + +|Name| dn\_rpc\_selector\_thread\_count | +|:---:|:-----------------------------------| +|Description| The number of rpc selector thread. | +|Type| int | +|Default| false | +|Effective| After restarting system | + +* dn\_rpc\_min\_concurrent\_client\_num + +|Name| dn\_rpc\_min\_concurrent\_client\_num | +|:---:|:-----------------------------------| +|Description| Minimum concurrent rpc connections | +|Type| Short Int : [0,65535] | +|Description| 1 | +|Effective| After restarting system | + +* dn\_rpc\_max\_concurrent\_client\_num + +|Name| dn\_rpc\_max\_concurrent\_client\_num | +|:---:|:---| +|Description| Max concurrent rpc connections| +|Type| Short Int : [0,65535] | +|Description| 65535 | +|Effective|After restarting system| + +* dn\_thrift\_max\_frame\_size + +|Name| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|Description| Max size of bytes of each thrift RPC request/response| +|Type| Long | +|Unit|Byte| +|Default| 536870912 | +|Effective|After restarting system| + +* dn\_thrift\_init\_buffer\_size + +|Name| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|Description| Initial size of bytes of buffer that thrift used | +|Type| long | +|Default| 1024 | +|Effective|After restarting system| + +* dn\_connection\_timeout\_ms + +| Name | dn\_connection\_timeout\_ms | +|:-----------:|:---------------------------------------------------| +| Description | Thrift socket and connection timeout between nodes | +| Type | int | +| Default | 60000 | +| Effective | After restarting system | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------------:|:--------------------------------------------------------------| +| Description | Number of core clients routed to each node in a ClientManager | +| Type | int | +| Default | 200 | +| Effective | After restarting system | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| Name | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:--------------:|:-------------------------------------------------------------| +| Description | Number of max clients routed to each node in a ClientManager | +| Type | int | +| Default | 300 | +| Effective | After restarting system | + +### Dictionary Configuration + +* dn\_system\_dir + +| Name | dn\_system\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The directories of system files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/system (Windows: data\\datanode\\system) | +| Effective | After restarting system | + +* dn\_data\_dirs + +| Name | dn\_data\_dirs | +|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | The directories of data files. Multiple directories are separated by comma. The starting directory of the relative path is related to the operating system. It is recommended to use an absolute path. If the path does not exist, the system will automatically create it. | +| Type | String[] | +| Default | data/datanode/data (Windows: data\\datanode\\data) | +| Effective | After restarting system | + +* dn\_multi\_dir\_strategy + +| Name | dn\_multi\_dir\_strategy | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Description | IoTDB's strategy for selecting directories for TsFile in tsfile_dir. You can use a simple class name or a full name of the class. The system provides the following three strategies:
1. SequenceStrategy: IoTDB selects the directory from tsfile\_dir in order, traverses all the directories in tsfile\_dir in turn, and keeps counting;
2. MaxDiskUsableSpaceFirstStrategy: IoTDB first selects the directory with the largest free disk space in tsfile\_dir;
You can complete a user-defined policy in the following ways:
1. Inherit the org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy class and implement its own Strategy method;
2. Fill in the configuration class with the full class name of the implemented class (package name plus class name, UserDfineStrategyPackage);
3. Add the jar file to the project. | +| Type | String | +| Default | SequenceStrategy | +| Effective | hot-load | + +* dn\_consensus\_dir + +| Name | dn\_consensus\_dir | +|:-----------:|:-------------------------------------------------------------------------------| +| Description | The directories of consensus files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/consensus | +| Effective | After restarting system | + +* dn\_wal\_dirs + +| Name | dn\_wal\_dirs | +|:-----------:|:-------------------------------------------------------------------------| +| Description | Write Ahead Log storage path. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/wal | +| Effective | After restarting system | + +* dn\_tracing\_dir + +| Name | dn\_tracing\_dir | +|:-----------:|:----------------------------------------------------------------------------| +| Description | The tracing root directory path. It is recommended to use an absolute path. | +| Type | String | +| Default | datanode/tracing | +| Effective | After restarting system | + +* dn\_sync\_dir + +| Name | dn\_sync\_dir | +|:-----------:|:--------------------------------------------------------------------------| +| Description | The directories of sync files. It is recommended to use an absolute path. | +| Type | String | +| Default | data/datanode/sync | +| Effective | After restarting system | + +### Metric Configuration + +## Enable GC log + +GC log is off by default. +For performance tuning, you may want to collect the GC info. + +To enable GC log, just add a parameter "printgc" when you start the DataNode. + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` +Or +```cmd +sbin\start-datanode.bat printgc +``` + +GC log is stored at `IOTDB_HOME/logs/gc.log`. +There will be at most 10 gc.log.* files and each one can reach to 10MB. + +### REST Service Configuration + +* enable\_rest\_service + +|Name| enable\_rest\_service | +|:---:|:--------------------------------------| +|Description| Whether to enable the Rest service | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_service\_port + +|Name| rest\_service\_port | +|:---:|:------------------| +|Description| The Rest service listens to the port number | +|Type| int32 | +|Default| 18080 | +|Effective| After restarting system | + +* enable\_swagger + +|Name| enable\_swagger | +|:---:|:-----------------------| +|Description| Whether to enable swagger to display rest interface information | +|Type| Boolean | +|Default| false | +|Effective| After restarting system | + +* rest\_query\_default\_row\_size\_limit + +|Name| rest\_query\_default\_row\_size\_limit | +|:---:|:------------------------------------------------------------------------------------------| +|Description| The maximum number of rows in a result set that can be returned by a query | +|Type| int32 | +|Default| 10000 | +|Effective| After restarting system | + +* cache\_expire + +|Name| cache\_expire | +|:---:|:--------------------------------------------------------| +|Description| Expiration time for caching customer login information | +|Type| int32 | +|Default| 28800 | +|Effective| After restarting system | + +* cache\_max\_num + +|Name| cache\_max\_num | +|:---:|:--------------| +|Description| The maximum number of users stored in the cache | +|Type| int32 | +|Default| 100 | +|Effective| After restarting system | + +* cache\_init\_num + +|Name| cache\_init\_num | +|:---:|:---------------| +|Description| Initial cache capacity | +|Type| int32 | +|Default| 10 | +|Effective| After restarting system | + + +* trust\_store\_path + +|Name| trust\_store\_path | +|:---:|:---------------| +|Description| keyStore Password (optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* trust\_store\_pwd + +|Name| trust\_store\_pwd | +|:---:|:---------------------------------| +|Description| trustStore Password (Optional) | +|Type| String | +|Default| "" | +|Effective| After restarting system | + +* idle\_timeout + +|Name| idle\_timeout | +|:---:|:--------------| +|Description| SSL timeout duration, expressed in seconds | +|Type| int32 | +|Default| 5000 | +|Effective| After restarting system | + + diff --git a/src/UserGuide/latest/Reference/DataNode-Config-Manual.md b/src/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/UserGuide/latest/Reference/DataNode-Config-Manual.md rename to src/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..d19056be --- /dev/null +++ b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,494 @@ + + +# DataNode 配置参数 + +IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:`conf`文件夹下。 + +* `datanode-env.sh/bat`:环境配置项的配置文件,可以配置 DataNode 的内存大小。 + +* `iotdb-system.properties`:IoTDB 的配置文件。 + +## 热修改配置项 + +为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` +的均为支持热修改的配置参数。 + +通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 + +## 环境配置项(datanode-env.sh/bat) + +环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: + +* MEMORY\_SIZE + +|名字|MEMORY\_SIZE| +|:---:|:---| +|描述|IoTDB DataNode 启动时分配的内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。默认为机器内存的二分之一。| +|改后生效方式|重启服务生效| + +* ON\_HEAP\_MEMORY + +|名字|ON\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆内内存大小, 曾用名: MAX\_HEAP\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置。| +|改后生效方式|重启服务生效| + +* OFF\_HEAP\_MEMORY + +|名字|OFF\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆外内存大小, 曾用名: MAX\_DIRECT\_MEMORY\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置| +|改后生效方式|重启服务生效| + +* JMX\_LOCAL + +|名字|JMX\_LOCAL| +|:---:|:---| +|描述|JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。| +|类型|枚举 String : “true”, “false”| +|默认值|true| +|改后生效方式|重启服务生效| + +* JMX\_PORT + +|名字|JMX\_PORT| +|:---:|:---| +|描述|JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。| +|类型|Short Int: [0,65535]| +|默认值|31999| +|改后生效方式|重启服务生效| + +## 系统配置项(iotdb-system.properties) + +系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 + +### Data Node RPC 服务配置 + +* dn\_rpc\_address + +|名字| dn\_rpc\_address | +|:---:|:-----------------| +|描述| 客户端 RPC 服务监听地址 | +|类型| String | +|默认值| 0.0.0.0 | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_port + +|名字| dn\_rpc\_port | +|:---:|:---| +|描述| Client RPC 服务监听端口| +|类型| Short Int : [0,65535] | +|默认值| 6667 | +|改后生效方式|重启服务生效| + +* dn\_internal\_address + +|名字| dn\_internal\_address | +|:---:|:---| +|描述| DataNode 内网通信地址 | +|类型| string | +|默认值| 127.0.0.1 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_internal\_port + +|名字| dn\_internal\_port | +|:---:|:-------------------| +|描述| DataNode 内网通信端口 | +|类型| int | +|默认值| 10730 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +* dn\_mpp\_data\_exchange\_port + +|名字| dn\_mpp\_data\_exchange\_port | +|:---:|:---| +|描述| MPP 数据交换端口 | +|类型| int | +|默认值| 10740 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_schema\_region\_consensus\_port + +|名字| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 元数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10750 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_data\_region\_consensus\_port + +|名字| dn\_data\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10760 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_join\_cluster\_retry\_interval\_ms + +|名字| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:---------------------------------------| +|描述| DataNode 再次重试加入集群等待时间 | +|类型| long | +|默认值| 5000 | +|改后生效方式| 重启服务生效 | + + +### SSL 配置 + +* enable\_thrift\_ssl + +|名字| enable\_thrift\_ssl | +|:---:|:----------------------------------------------| +|描述| 当enable\_thrift\_ssl配置为true时,将通过dn\_rpc\_port使用 SSL 加密进行通信 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* enable\_https + +|名字| enable\_https | +|:---:|:-------------------------| +|描述| REST Service 是否开启 SSL 配置 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* key\_store\_path + +|名字| key\_store\_path | +|:---:|:-----------------| +|描述| ssl证书路径 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + +* key\_store\_pwd + +|名字| key\_store\_pwd | +|:---:|:----------------| +|描述| ssl证书密码 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + + +### SeedConfigNode 配置 + +* dn\_seed\_config\_node + +|名字| dn\_seed\_config\_node | +|:---:|:------------------------------------| +|描述| ConfigNode 地址,DataNode 启动时通过此地址加入集群,推荐使用 SeedConfigNode。V1.2.2 及以前曾用名是 dn\_target\_config\_node\_list | +|类型| String | +|默认值| 127.0.0.1:10710 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +### 连接配置 + +* dn\_session\_timeout\_threshold + +|名字| dn\_session_timeout_threshold | +|:---:|:------------------------------| +|描述| 最大的会话空闲时间 | +|类型| int | +|默认值| 0 | +|改后生效方式| 重启服务生效 | + + +* dn\_rpc\_thrift\_compression\_enable + +|名字| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---------------------------------| +|描述| 是否启用 thrift 的压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_advanced\_compression\_enable + +|名字| dn\_rpc\_advanced\_compression\_enable | +|:---:|:-----------------------------------| +|描述| 是否启用 thrift 的自定制压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_selector\_thread\_count + +| 名字 | rpc\_selector\_thread\_count | +|:------:|:-----------------------------| +| 描述 | rpc 选择器线程数量 | +| 类型 | int | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_min\_concurrent\_client\_num + +| 名字 | rpc\_min\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最小连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_max\_concurrent\_client\_num + +| 名字 | dn\_rpc\_max\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最大连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 65535 | +| 改后生效方式 | 重启服务生效 | + +* dn\_thrift\_max\_frame\_size + +|名字| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|描述| RPC 请求/响应的最大字节数| +|类型| long | +|默认值| 536870912 (默认值512MB,应大于等于 512 * 1024 * 1024) | +|改后生效方式|重启服务生效| + +* dn\_thrift\_init\_buffer\_size + +|名字| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|描述| 字节数 | +|类型| long | +|默认值| 1024 | +|改后生效方式|重启服务生效| + +* dn\_connection\_timeout\_ms + +| 名字 | dn\_connection\_timeout\_ms | +|:------:|:----------------------------| +| 描述 | 节点连接超时时间 | +| 类型 | int | +| 默认值 | 60000 | +| 改后生效方式 | 重启服务生效 | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:--------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的核心 Client 个数 | +| 类型 | int | +| 默认值 | 200 | +| 改后生效方式 | 重启服务生效 | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:-------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的最大 Client 个数 | +| 类型 | int | +| 默认值 | 300 | +| 改后生效方式 | 重启服务生效 | + +### 目录配置 + +* dn\_system\_dir + +| 名字 | dn\_system\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/system(Windows:data\\datanode\\system) | +| 改后生效方式 | 重启服务生效 | + +* dn\_data\_dirs + +| 名字 | dn\_data\_dirs | +|:------:|:-------------------------------------------------------------------| +| 描述 | IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/data(Windows:data\\datanode\\data) | +| 改后生效方式 | 重启服务生效 | + +* dn\_multi\_dir\_strategy + +| 名字 | dn\_multi\_dir\_strategy | +|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 描述 | IoTDB 在 data\_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data\_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data\_dirs 中对应磁盘空余空间最大的目录;
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。 | +| 类型 | String | +| 默认值 | SequenceStrategy | +| 改后生效方式 | 热加载 | + +* dn\_consensus\_dir + +| 名字 | dn\_consensus\_dir | +|:------:|:-------------------------------------------------------------------------| +| 描述 | IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/consensus(Windows:data\\datanode\\consensus) | +| 改后生效方式 | 重启服务生效 | + +* dn\_wal\_dirs + +| 名字 | dn\_wal\_dirs | +|:------:|:---------------------------------------------------------------------| +| 描述 | IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/wal(Windows:data\\datanode\\wal) | +| 改后生效方式 | 重启服务生效 | + +* dn\_tracing\_dir + +| 名字 | dn\_tracing\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | datanode/tracing | +| 改后生效方式 | 重启服务生效 | + +* dn\_sync\_dir + +| 名字 | dn\_sync\_dir | +|:------:|:----------------------------------------------------------------------| +| 描述 | IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/sync | +| 改后生效方式 | 重启服务生效 | + +### Metric 配置 + +## 开启 GC 日志 + +GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 +若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` + +或者 + +```bash +sbin\start-datanode.bat printgc +``` + +GC 日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。 + +#### REST 服务配置 + +* enable\_rest\_service + +|名字| enable\_rest\_service | +|:---:|:--------------------| +|描述| 是否开启Rest服务。 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_service\_port + +|名字| rest\_service\_port | +|:---:|:------------------| +|描述| Rest服务监听端口号 | +|类型| int32 | +|默认值| 18080 | +|改后生效方式| 重启生效 | + +* enable\_swagger + +|名字| enable\_swagger | +|:---:|:-----------------------| +|描述| 是否启用swagger来展示rest接口信息 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_query\_default\_row\_size\_limit + +|名字| rest\_query\_default\_row\_size\_limit | +|:---:|:----------------------------------| +|描述| 一次查询能返回的结果集最大行数 | +|类型| int32 | +|默认值| 10000 | +|改后生效方式| 重启生效 | + +* cache\_expire + +|名字| cache\_expire | +|:---:|:--------------| +|描述| 缓存客户登录信息的过期时间 | +|类型| int32 | +|默认值| 28800 | +|改后生效方式| 重启生效 | + +* cache\_max\_num + +|名字| cache\_max\_num | +|:---:|:--------------| +|描述| 缓存中存储的最大用户数量 | +|类型| int32 | +|默认值| 100 | +|改后生效方式| 重启生效 | + +* cache\_init\_num + +|名字| cache\_init\_num | +|:---:|:---------------| +|描述| 缓存初始容量 | +|类型| int32 | +|默认值| 10 | +|改后生效方式| 重启生效 | + +* trust\_store\_path + +|名字| trust\_store\_path | +|:---:|:---------------| +|描述| keyStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* trust\_store\_pwd + +|名字| trust\_store\_pwd | +|:---:|:---------------| +|描述| trustStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* idle\_timeout + +|名字| idle\_timeout | +|:---:|:--------------| +|描述| SSL 超时时间,单位为秒 | +|类型| int32 | +|默认值| 5000 | +|改后生效方式| 重启生效 | + + + diff --git a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual.md b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual.md rename to src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..c229656d --- /dev/null +++ b/src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,351 @@ + + +# DataNode 配置参数 + +IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:`conf`文件夹下。 + +* `datanode-env.sh/bat`:环境配置项的配置文件,可以配置 DataNode 的内存大小。 + +* `iotdb-datanode.properties`:IoTDB DataNode 和单机版的配置文件。 + +## 热修改配置项 + +为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-datanode.properties` 和 `iotdb-common.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` +的均为支持热修改的配置参数。 + +通过 Session 或 Cli 发送 ```load configuration``` 命令(SQL)至 IoTDB 可触发配置热加载。 + +## 环境配置项(datanode-env.sh/bat) + +环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: + +* MAX\_HEAP\_SIZE + +|名字|MAX\_HEAP\_SIZE| +|:---:|:---| +|描述|IoTDB 能使用的最大堆内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。在 Linux 或 MacOS 系统下默认为机器内存的四分之一。在 Windows 系统下,32 位系统的默认值是 512M,64 位系统默认值是 2G。| +|改后生效方式|重启服务生效| + +* HEAP\_NEWSIZE + +|名字|HEAP\_NEWSIZE| +|:---:|:---| +|描述|IoTDB 启动时分配的最小堆内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。在 Linux 或 MacOS 系统下默认值为机器 CPU 核数乘以 100M 的值与 MAX\_HEAP\_SIZE 四分之一这二者的最小值。在 Windows 系统下,32 位系统的默认值是 512M,64 位系统默认值是 2G。| +|改后生效方式|重启服务生效| + +* MAX\_DIRECT\_MEMORY\_SIZE + +|名字|MAX\_DIRECT\_MEMORY\_SIZE| +|:---:|:---| +|描述|IoTDB 能使用的最大堆外内存大小 | +|类型|String| +|默认值|默认与最大堆内存相等| +|改后生效方式|重启服务生效| + +* JMX\_LOCAL + +|名字|JMX\_LOCAL| +|:---:|:---| +|描述|JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。| +|类型|枚举 String : “true”, “false”| +|默认值|true| +|改后生效方式|重启服务生效| + +* JMX\_PORT + +|名字|JMX\_PORT| +|:---:|:---| +|描述|JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。| +|类型|Short Int: [0,65535]| +|默认值|31999| +|改后生效方式|重启服务生效| + +## 系统配置项(iotdb-datanode.properties) + +系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 + +### Data Node RPC 服务配置 + +* dn\_rpc\_address + +|名字| dn\_rpc\_address | +|:---:|:-----------------| +|描述| 客户端 RPC 服务监听地址 | +|类型| String | +|默认值| 0.0.0.0 | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_port + +|名字| dn\_rpc\_port | +|:---:|:---| +|描述| Client RPC 服务监听端口| +|类型| Short Int : [0,65535] | +|默认值| 6667 | +|改后生效方式|重启服务生效| + +* dn\_internal\_address + +|名字| dn\_internal\_address | +|:---:|:---| +|描述| DataNode 内网通信地址 | +|类型| string | +|默认值| 127.0.0.1 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_internal\_port + +|名字| dn\_internal\_port | +|:---:|:-------------------| +|描述| DataNode 内网通信端口 | +|类型| int | +|默认值| 10730 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +* dn\_mpp\_data\_exchange\_port + +|名字| dn\_mpp\_data\_exchange\_port | +|:---:|:---| +|描述| MPP 数据交换端口 | +|类型| int | +|默认值| 10740 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_schema\_region\_consensus\_port + +|名字| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 元数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10750 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_data\_region\_consensus\_port + +|名字| dn\_data\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10760 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_join\_cluster\_retry\_interval\_ms + +|名字| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:---------------------------------------| +|描述| DataNode 再次重试加入集群等待时间 | +|类型| long | +|默认值| 5000 | +|改后生效方式| 重启服务生效 | + +### 目标 Config Nodes 配置 + +* dn\_target\_config\_node\_list + +|名字| dn\_target\_config\_node\_list | +|:---:|:------------------------------------| +|描述| ConfigNode 地址,DataNode 启动时通过此地址加入集群 | +|类型| String | +|默认值| 127.0.0.1:10710 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +### 连接配置 + +* dn\_session\_timeout\_threshold + +|名字| dn\_session_timeout_threshold | +|:---:|:------------------------------| +|描述| 最大的会话空闲时间 | +|类型| int | +|默认值| 0 | +|改后生效方式| 重启服务生效 | + + +* dn\_rpc\_thrift\_compression\_enable + +|名字| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---------------------------------| +|描述| 是否启用 thrift 的压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_advanced\_compression\_enable + +|名字| dn\_rpc\_advanced\_compression\_enable | +|:---:|:-----------------------------------| +|描述| 是否启用 thrift 的自定制压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_selector\_thread\_count + +| 名字 | rpc\_selector\_thread\_count | +|:------:|:-----------------------------| +| 描述 | rpc 选择器线程数量 | +| 类型 | int | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_min\_concurrent\_client\_num + +| 名字 | rpc\_min\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最小连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_max\_concurrent\_client\_num + +| 名字 | dn\_rpc\_max\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最大连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 65535 | +| 改后生效方式 | 重启服务生效 | + +* dn\_thrift\_max\_frame\_size + +|名字| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|描述| RPC 请求/响应的最大字节数| +|类型| long | +|默认值| 536870912 (默认值512MB,应大于等于 512 * 1024 * 1024) | +|改后生效方式|重启服务生效| + +* dn\_thrift\_init\_buffer\_size + +|名字| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|描述| 字节数 | +|类型| long | +|默认值| 1024 | +|改后生效方式|重启服务生效| + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:--------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的核心 Client 个数 | +| 类型 | int | +| 默认值 | 200 | +| 改后生效方式 | 重启服务生效 | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:-------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的最大 Client 个数 | +| 类型 | int | +| 默认值 | 300 | +| 改后生效方式 | 重启服务生效 | + +### 目录配置 + +* dn\_system\_dir + +| 名字 | dn\_system\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/system(Windows:data\\datanode\\system) | +| 改后生效方式 | 重启服务生效 | + +* dn\_data\_dirs + +| 名字 | dn\_data\_dirs | +|:------:|:-------------------------------------------------------------------| +| 描述 | IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/data(Windows:data\\datanode\\data) | +| 改后生效方式 | 重启服务生效 | + +* dn\_multi\_dir\_strategy + +| 名字 | dn\_multi\_dir\_strategy | +|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 描述 | IoTDB 在 data\_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data\_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data\_dirs 中对应磁盘空余空间最大的目录;
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。 | +| 类型 | String | +| 默认值 | SequenceStrategy | +| 改后生效方式 | 热加载 | + +* dn\_consensus\_dir + +| 名字 | dn\_consensus\_dir | +|:------:|:-------------------------------------------------------------------------| +| 描述 | IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/consensus(Windows:data\\datanode\\consensus) | +| 改后生效方式 | 重启服务生效 | + +* dn\_wal\_dirs + +| 名字 | dn\_wal\_dirs | +|:------:|:---------------------------------------------------------------------| +| 描述 | IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/wal(Windows:data\\datanode\\wal) | +| 改后生效方式 | 重启服务生效 | + +* dn\_tracing\_dir + +| 名字 | dn\_tracing\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | datanode/tracing | +| 改后生效方式 | 重启服务生效 | + +* dn\_sync\_dir + +| 名字 | dn\_sync\_dir | +|:------:|:----------------------------------------------------------------------| +| 描述 | IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/sync | +| 改后生效方式 | 重启服务生效 | + +### Metric 配置 + +## 开启 GC 日志 + +GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 +若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` + +或者 + +```bash +sbin\start-datanode.bat printgc +``` + +GC 日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。 + diff --git a/src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual.md b/src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual.md rename to src/zh/UserGuide/V1.2.x/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual.md b/src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_apache.md similarity index 100% rename from src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual.md rename to src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_apache.md diff --git a/src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_timecho.md b/src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_timecho.md new file mode 100644 index 00000000..532a17f3 --- /dev/null +++ b/src/zh/UserGuide/V1.3.0-2/Reference/DataNode-Config-Manual_timecho.md @@ -0,0 +1,491 @@ + + +# DataNode 配置参数 + +IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:`conf`文件夹下。 + +* `datanode-env.sh/bat`:环境配置项的配置文件,可以配置 DataNode 的内存大小。 + +* `iotdb-datanode.properties`:IoTDB 配置文件。 + +## 热修改配置项 + +为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-datanode.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载`的均为支持热修改的配置参数。 + +通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 + +## 环境配置项(datanode-env.sh/bat) + +环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: + +* MEMORY\_SIZE + +|名字|MEMORY\_SIZE| +|:---:|:---| +|描述|IoTDB DataNode 启动时分配的内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。默认为机器内存的二分之一。| +|改后生效方式|重启服务生效| + +* ON\_HEAP\_MEMORY + +|名字|ON\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆内内存大小, 曾用名: MAX\_HEAP\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置。| +|改后生效方式|重启服务生效| + +* OFF\_HEAP\_MEMORY + +|名字|OFF\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆外内存大小, 曾用名: MAX\_DIRECT\_MEMORY\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置| +|改后生效方式|重启服务生效| + +* JMX\_LOCAL + +|名字|JMX\_LOCAL| +|:---:|:---| +|描述|JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。| +|类型|枚举 String : “true”, “false”| +|默认值|true| +|改后生效方式|重启服务生效| + +* JMX\_PORT + +|名字|JMX\_PORT| +|:---:|:---| +|描述|JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。| +|类型|Short Int: [0,65535]| +|默认值|31999| +|改后生效方式|重启服务生效| + +## 系统配置项(iotdb-datanode.properties) + +系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 + +### Data Node RPC 服务配置 + +* dn\_rpc\_address + +|名字| dn\_rpc\_address | +|:---:|:-----------------| +|描述| 客户端 RPC 服务监听地址 | +|类型| String | +|默认值| 0.0.0.0 | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_port + +|名字| dn\_rpc\_port | +|:---:|:---| +|描述| Client RPC 服务监听端口| +|类型| Short Int : [0,65535] | +|默认值| 6667 | +|改后生效方式|重启服务生效| + +* dn\_internal\_address + +|名字| dn\_internal\_address | +|:---:|:---| +|描述| DataNode 内网通信地址 | +|类型| string | +|默认值| 127.0.0.1 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_internal\_port + +|名字| dn\_internal\_port | +|:---:|:-------------------| +|描述| DataNode 内网通信端口 | +|类型| int | +|默认值| 10730 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +* dn\_mpp\_data\_exchange\_port + +|名字| dn\_mpp\_data\_exchange\_port | +|:---:|:---| +|描述| MPP 数据交换端口 | +|类型| int | +|默认值| 10740 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_schema\_region\_consensus\_port + +|名字| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 元数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10750 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_data\_region\_consensus\_port + +|名字| dn\_data\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10760 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_join\_cluster\_retry\_interval\_ms + +|名字| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:---------------------------------------| +|描述| DataNode 再次重试加入集群等待时间 | +|类型| long | +|默认值| 5000 | +|改后生效方式| 重启服务生效 | + + +### SSL 配置 + +* enable\_thrift\_ssl + +|名字| enable\_thrift\_ssl | +|:---:|:----------------------------------------------| +|描述| 当enable\_thrift\_ssl配置为true时,将通过dn\_rpc\_port使用 SSL 加密进行通信 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* enable\_https + +|名字| enable\_https | +|:---:|:-------------------------| +|描述| REST Service 是否开启 SSL 配置 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* key\_store\_path + +|名字| key\_store\_path | +|:---:|:-----------------| +|描述| ssl证书路径 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + +* key\_store\_pwd + +|名字| key\_store\_pwd | +|:---:|:----------------| +|描述| ssl证书密码 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + + +### 目标 Config Nodes 配置 + +* dn\_seed\_config\_node + +|名字| dn\_seed\_config\_node | +|:---:|:------------------------------------| +|描述| ConfigNode 地址,DataNode 启动时通过此地址加入集群 | +|类型| String | +|默认值| 127.0.0.1:10710 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +### 连接配置 + +* dn\_session\_timeout\_threshold + +|名字| dn\_session_timeout_threshold | +|:---:|:------------------------------| +|描述| 最大的会话空闲时间 | +|类型| int | +|默认值| 0 | +|改后生效方式| 重启服务生效 | + + +* dn\_rpc\_thrift\_compression\_enable + +|名字| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---------------------------------| +|描述| 是否启用 thrift 的压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_advanced\_compression\_enable + +|名字| dn\_rpc\_advanced\_compression\_enable | +|:---:|:-----------------------------------| +|描述| 是否启用 thrift 的自定制压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_selector\_thread\_count + +| 名字 | rpc\_selector\_thread\_count | +|:------:|:-----------------------------| +| 描述 | rpc 选择器线程数量 | +| 类型 | int | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_min\_concurrent\_client\_num + +| 名字 | rpc\_min\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最小连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_max\_concurrent\_client\_num + +| 名字 | dn\_rpc\_max\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最大连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 65535 | +| 改后生效方式 | 重启服务生效 | + +* dn\_thrift\_max\_frame\_size + +|名字| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|描述| RPC 请求/响应的最大字节数| +|类型| long | +|默认值| 536870912 (默认值512MB,应大于等于 512 * 1024 * 1024) | +|改后生效方式|重启服务生效| + +* dn\_thrift\_init\_buffer\_size + +|名字| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|描述| 字节数 | +|类型| long | +|默认值| 1024 | +|改后生效方式|重启服务生效| + +* dn\_connection\_timeout\_ms + +| 名字 | dn\_connection\_timeout\_ms | +|:------:|:----------------------------| +| 描述 | 节点连接超时时间 | +| 类型 | int | +| 默认值 | 60000 | +| 改后生效方式 | 重启服务生效 | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:--------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的核心 Client 个数 | +| 类型 | int | +| 默认值 | 200 | +| 改后生效方式 | 重启服务生效 | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:-------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的最大 Client 个数 | +| 类型 | int | +| 默认值 | 300 | +| 改后生效方式 | 重启服务生效 | + +### 目录配置 + +* dn\_system\_dir + +| 名字 | dn\_system\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/system(Windows:data\\datanode\\system) | +| 改后生效方式 | 重启服务生效 | + +* dn\_data\_dirs + +| 名字 | dn\_data\_dirs | +|:------:|:-------------------------------------------------------------------| +| 描述 | IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/data(Windows:data\\datanode\\data) | +| 改后生效方式 | 重启服务生效 | + +* dn\_multi\_dir\_strategy + +| 名字 | dn\_multi\_dir\_strategy | +|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 描述 | IoTDB 在 data\_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data\_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data\_dirs 中对应磁盘空余空间最大的目录;
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。 | +| 类型 | String | +| 默认值 | SequenceStrategy | +| 改后生效方式 | 热加载 | + +* dn\_consensus\_dir + +| 名字 | dn\_consensus\_dir | +|:------:|:-------------------------------------------------------------------------| +| 描述 | IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/consensus(Windows:data\\datanode\\consensus) | +| 改后生效方式 | 重启服务生效 | + +* dn\_wal\_dirs + +| 名字 | dn\_wal\_dirs | +|:------:|:---------------------------------------------------------------------| +| 描述 | IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/wal(Windows:data\\datanode\\wal) | +| 改后生效方式 | 重启服务生效 | + +* dn\_tracing\_dir + +| 名字 | dn\_tracing\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | datanode/tracing | +| 改后生效方式 | 重启服务生效 | + +* dn\_sync\_dir + +| 名字 | dn\_sync\_dir | +|:------:|:----------------------------------------------------------------------| +| 描述 | IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/sync | +| 改后生效方式 | 重启服务生效 | + +### Metric 配置 + +## 开启 GC 日志 + +GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 +若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` + +或者 + +```bash +sbin\start-datanode.bat printgc +``` + +GC 日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。 + +#### REST 服务配置 + +* enable\_rest\_service + +|名字| enable\_rest\_service | +|:---:|:--------------------| +|描述| 是否开启Rest服务。 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_service\_port + +|名字| rest\_service\_port | +|:---:|:------------------| +|描述| Rest服务监听端口号 | +|类型| int32 | +|默认值| 18080 | +|改后生效方式| 重启生效 | + +* enable\_swagger + +|名字| enable\_swagger | +|:---:|:-----------------------| +|描述| 是否启用swagger来展示rest接口信息 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_query\_default\_row\_size\_limit + +|名字| rest\_query\_default\_row\_size\_limit | +|:---:|:----------------------------------| +|描述| 一次查询能返回的结果集最大行数 | +|类型| int32 | +|默认值| 10000 | +|改后生效方式| 重启生效 | + +* cache\_expire + +|名字| cache\_expire | +|:---:|:--------------| +|描述| 缓存客户登录信息的过期时间 | +|类型| int32 | +|默认值| 28800 | +|改后生效方式| 重启生效 | + +* cache\_max\_num + +|名字| cache\_max\_num | +|:---:|:--------------| +|描述| 缓存中存储的最大用户数量 | +|类型| int32 | +|默认值| 100 | +|改后生效方式| 重启生效 | + +* cache\_init\_num + +|名字| cache\_init\_num | +|:---:|:---------------| +|描述| 缓存初始容量 | +|类型| int32 | +|默认值| 10 | +|改后生效方式| 重启生效 | + +* trust\_store\_path + +|名字| trust\_store\_path | +|:---:|:---------------| +|描述| keyStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* trust\_store\_pwd + +|名字| trust\_store\_pwd | +|:---:|:---------------| +|描述| trustStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* idle\_timeout + +|名字| idle\_timeout | +|:---:|:--------------| +|描述| SSL 超时时间,单位为秒 | +|类型| int32 | +|默认值| 5000 | +|改后生效方式| 重启生效 | + diff --git a/src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..d19056be --- /dev/null +++ b/src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,494 @@ + + +# DataNode 配置参数 + +IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:`conf`文件夹下。 + +* `datanode-env.sh/bat`:环境配置项的配置文件,可以配置 DataNode 的内存大小。 + +* `iotdb-system.properties`:IoTDB 的配置文件。 + +## 热修改配置项 + +为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` +的均为支持热修改的配置参数。 + +通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 + +## 环境配置项(datanode-env.sh/bat) + +环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: + +* MEMORY\_SIZE + +|名字|MEMORY\_SIZE| +|:---:|:---| +|描述|IoTDB DataNode 启动时分配的内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。默认为机器内存的二分之一。| +|改后生效方式|重启服务生效| + +* ON\_HEAP\_MEMORY + +|名字|ON\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆内内存大小, 曾用名: MAX\_HEAP\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置。| +|改后生效方式|重启服务生效| + +* OFF\_HEAP\_MEMORY + +|名字|OFF\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆外内存大小, 曾用名: MAX\_DIRECT\_MEMORY\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置| +|改后生效方式|重启服务生效| + +* JMX\_LOCAL + +|名字|JMX\_LOCAL| +|:---:|:---| +|描述|JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。| +|类型|枚举 String : “true”, “false”| +|默认值|true| +|改后生效方式|重启服务生效| + +* JMX\_PORT + +|名字|JMX\_PORT| +|:---:|:---| +|描述|JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。| +|类型|Short Int: [0,65535]| +|默认值|31999| +|改后生效方式|重启服务生效| + +## 系统配置项(iotdb-system.properties) + +系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 + +### Data Node RPC 服务配置 + +* dn\_rpc\_address + +|名字| dn\_rpc\_address | +|:---:|:-----------------| +|描述| 客户端 RPC 服务监听地址 | +|类型| String | +|默认值| 0.0.0.0 | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_port + +|名字| dn\_rpc\_port | +|:---:|:---| +|描述| Client RPC 服务监听端口| +|类型| Short Int : [0,65535] | +|默认值| 6667 | +|改后生效方式|重启服务生效| + +* dn\_internal\_address + +|名字| dn\_internal\_address | +|:---:|:---| +|描述| DataNode 内网通信地址 | +|类型| string | +|默认值| 127.0.0.1 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_internal\_port + +|名字| dn\_internal\_port | +|:---:|:-------------------| +|描述| DataNode 内网通信端口 | +|类型| int | +|默认值| 10730 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +* dn\_mpp\_data\_exchange\_port + +|名字| dn\_mpp\_data\_exchange\_port | +|:---:|:---| +|描述| MPP 数据交换端口 | +|类型| int | +|默认值| 10740 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_schema\_region\_consensus\_port + +|名字| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 元数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10750 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_data\_region\_consensus\_port + +|名字| dn\_data\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10760 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_join\_cluster\_retry\_interval\_ms + +|名字| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:---------------------------------------| +|描述| DataNode 再次重试加入集群等待时间 | +|类型| long | +|默认值| 5000 | +|改后生效方式| 重启服务生效 | + + +### SSL 配置 + +* enable\_thrift\_ssl + +|名字| enable\_thrift\_ssl | +|:---:|:----------------------------------------------| +|描述| 当enable\_thrift\_ssl配置为true时,将通过dn\_rpc\_port使用 SSL 加密进行通信 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* enable\_https + +|名字| enable\_https | +|:---:|:-------------------------| +|描述| REST Service 是否开启 SSL 配置 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* key\_store\_path + +|名字| key\_store\_path | +|:---:|:-----------------| +|描述| ssl证书路径 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + +* key\_store\_pwd + +|名字| key\_store\_pwd | +|:---:|:----------------| +|描述| ssl证书密码 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + + +### SeedConfigNode 配置 + +* dn\_seed\_config\_node + +|名字| dn\_seed\_config\_node | +|:---:|:------------------------------------| +|描述| ConfigNode 地址,DataNode 启动时通过此地址加入集群,推荐使用 SeedConfigNode。V1.2.2 及以前曾用名是 dn\_target\_config\_node\_list | +|类型| String | +|默认值| 127.0.0.1:10710 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +### 连接配置 + +* dn\_session\_timeout\_threshold + +|名字| dn\_session_timeout_threshold | +|:---:|:------------------------------| +|描述| 最大的会话空闲时间 | +|类型| int | +|默认值| 0 | +|改后生效方式| 重启服务生效 | + + +* dn\_rpc\_thrift\_compression\_enable + +|名字| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---------------------------------| +|描述| 是否启用 thrift 的压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_advanced\_compression\_enable + +|名字| dn\_rpc\_advanced\_compression\_enable | +|:---:|:-----------------------------------| +|描述| 是否启用 thrift 的自定制压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_selector\_thread\_count + +| 名字 | rpc\_selector\_thread\_count | +|:------:|:-----------------------------| +| 描述 | rpc 选择器线程数量 | +| 类型 | int | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_min\_concurrent\_client\_num + +| 名字 | rpc\_min\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最小连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_max\_concurrent\_client\_num + +| 名字 | dn\_rpc\_max\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最大连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 65535 | +| 改后生效方式 | 重启服务生效 | + +* dn\_thrift\_max\_frame\_size + +|名字| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|描述| RPC 请求/响应的最大字节数| +|类型| long | +|默认值| 536870912 (默认值512MB,应大于等于 512 * 1024 * 1024) | +|改后生效方式|重启服务生效| + +* dn\_thrift\_init\_buffer\_size + +|名字| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|描述| 字节数 | +|类型| long | +|默认值| 1024 | +|改后生效方式|重启服务生效| + +* dn\_connection\_timeout\_ms + +| 名字 | dn\_connection\_timeout\_ms | +|:------:|:----------------------------| +| 描述 | 节点连接超时时间 | +| 类型 | int | +| 默认值 | 60000 | +| 改后生效方式 | 重启服务生效 | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:--------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的核心 Client 个数 | +| 类型 | int | +| 默认值 | 200 | +| 改后生效方式 | 重启服务生效 | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:-------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的最大 Client 个数 | +| 类型 | int | +| 默认值 | 300 | +| 改后生效方式 | 重启服务生效 | + +### 目录配置 + +* dn\_system\_dir + +| 名字 | dn\_system\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/system(Windows:data\\datanode\\system) | +| 改后生效方式 | 重启服务生效 | + +* dn\_data\_dirs + +| 名字 | dn\_data\_dirs | +|:------:|:-------------------------------------------------------------------| +| 描述 | IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/data(Windows:data\\datanode\\data) | +| 改后生效方式 | 重启服务生效 | + +* dn\_multi\_dir\_strategy + +| 名字 | dn\_multi\_dir\_strategy | +|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 描述 | IoTDB 在 data\_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data\_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data\_dirs 中对应磁盘空余空间最大的目录;
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。 | +| 类型 | String | +| 默认值 | SequenceStrategy | +| 改后生效方式 | 热加载 | + +* dn\_consensus\_dir + +| 名字 | dn\_consensus\_dir | +|:------:|:-------------------------------------------------------------------------| +| 描述 | IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/consensus(Windows:data\\datanode\\consensus) | +| 改后生效方式 | 重启服务生效 | + +* dn\_wal\_dirs + +| 名字 | dn\_wal\_dirs | +|:------:|:---------------------------------------------------------------------| +| 描述 | IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/wal(Windows:data\\datanode\\wal) | +| 改后生效方式 | 重启服务生效 | + +* dn\_tracing\_dir + +| 名字 | dn\_tracing\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | datanode/tracing | +| 改后生效方式 | 重启服务生效 | + +* dn\_sync\_dir + +| 名字 | dn\_sync\_dir | +|:------:|:----------------------------------------------------------------------| +| 描述 | IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/sync | +| 改后生效方式 | 重启服务生效 | + +### Metric 配置 + +## 开启 GC 日志 + +GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 +若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` + +或者 + +```bash +sbin\start-datanode.bat printgc +``` + +GC 日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。 + +#### REST 服务配置 + +* enable\_rest\_service + +|名字| enable\_rest\_service | +|:---:|:--------------------| +|描述| 是否开启Rest服务。 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_service\_port + +|名字| rest\_service\_port | +|:---:|:------------------| +|描述| Rest服务监听端口号 | +|类型| int32 | +|默认值| 18080 | +|改后生效方式| 重启生效 | + +* enable\_swagger + +|名字| enable\_swagger | +|:---:|:-----------------------| +|描述| 是否启用swagger来展示rest接口信息 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_query\_default\_row\_size\_limit + +|名字| rest\_query\_default\_row\_size\_limit | +|:---:|:----------------------------------| +|描述| 一次查询能返回的结果集最大行数 | +|类型| int32 | +|默认值| 10000 | +|改后生效方式| 重启生效 | + +* cache\_expire + +|名字| cache\_expire | +|:---:|:--------------| +|描述| 缓存客户登录信息的过期时间 | +|类型| int32 | +|默认值| 28800 | +|改后生效方式| 重启生效 | + +* cache\_max\_num + +|名字| cache\_max\_num | +|:---:|:--------------| +|描述| 缓存中存储的最大用户数量 | +|类型| int32 | +|默认值| 100 | +|改后生效方式| 重启生效 | + +* cache\_init\_num + +|名字| cache\_init\_num | +|:---:|:---------------| +|描述| 缓存初始容量 | +|类型| int32 | +|默认值| 10 | +|改后生效方式| 重启生效 | + +* trust\_store\_path + +|名字| trust\_store\_path | +|:---:|:---------------| +|描述| keyStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* trust\_store\_pwd + +|名字| trust\_store\_pwd | +|:---:|:---------------| +|描述| trustStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* idle\_timeout + +|名字| idle\_timeout | +|:---:|:--------------| +|描述| SSL 超时时间,单位为秒 | +|类型| int32 | +|默认值| 5000 | +|改后生效方式| 重启生效 | + + + diff --git a/src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual.md b/src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual.md rename to src/zh/UserGuide/V2.0.1/Tree/Reference/DataNode-Config-Manual_timecho.md diff --git a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md new file mode 100644 index 00000000..d19056be --- /dev/null +++ b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md @@ -0,0 +1,494 @@ + + +# DataNode 配置参数 + +IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 安装目录:`conf`文件夹下。 + +* `datanode-env.sh/bat`:环境配置项的配置文件,可以配置 DataNode 的内存大小。 + +* `iotdb-system.properties`:IoTDB 的配置文件。 + +## 热修改配置项 + +为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` +的均为支持热修改的配置参数。 + +通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 + +## 环境配置项(datanode-env.sh/bat) + +环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: + +* MEMORY\_SIZE + +|名字|MEMORY\_SIZE| +|:---:|:---| +|描述|IoTDB DataNode 启动时分配的内存大小 | +|类型|String| +|默认值|取决于操作系统和机器配置。默认为机器内存的二分之一。| +|改后生效方式|重启服务生效| + +* ON\_HEAP\_MEMORY + +|名字|ON\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆内内存大小, 曾用名: MAX\_HEAP\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置。| +|改后生效方式|重启服务生效| + +* OFF\_HEAP\_MEMORY + +|名字|OFF\_HEAP\_MEMORY| +|:---:|:---| +|描述|IoTDB DataNode 能使用的堆外内存大小, 曾用名: MAX\_DIRECT\_MEMORY\_SIZE | +|类型|String| +|默认值|取决于MEMORY\_SIZE的配置| +|改后生效方式|重启服务生效| + +* JMX\_LOCAL + +|名字|JMX\_LOCAL| +|:---:|:---| +|描述|JMX 监控模式,配置为 true 表示仅允许本地监控,设置为 false 的时候表示允许远程监控。如想在本地通过网络连接JMX Service,比如nodeTool.sh会尝试连接127.0.0.1:31999,请将JMX_LOCAL设置为false。| +|类型|枚举 String : “true”, “false”| +|默认值|true| +|改后生效方式|重启服务生效| + +* JMX\_PORT + +|名字|JMX\_PORT| +|:---:|:---| +|描述|JMX 监听端口。请确认该端口是不是系统保留端口并且未被占用。| +|类型|Short Int: [0,65535]| +|默认值|31999| +|改后生效方式|重启服务生效| + +## 系统配置项(iotdb-system.properties) + +系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 + +### Data Node RPC 服务配置 + +* dn\_rpc\_address + +|名字| dn\_rpc\_address | +|:---:|:-----------------| +|描述| 客户端 RPC 服务监听地址 | +|类型| String | +|默认值| 0.0.0.0 | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_port + +|名字| dn\_rpc\_port | +|:---:|:---| +|描述| Client RPC 服务监听端口| +|类型| Short Int : [0,65535] | +|默认值| 6667 | +|改后生效方式|重启服务生效| + +* dn\_internal\_address + +|名字| dn\_internal\_address | +|:---:|:---| +|描述| DataNode 内网通信地址 | +|类型| string | +|默认值| 127.0.0.1 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_internal\_port + +|名字| dn\_internal\_port | +|:---:|:-------------------| +|描述| DataNode 内网通信端口 | +|类型| int | +|默认值| 10730 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +* dn\_mpp\_data\_exchange\_port + +|名字| dn\_mpp\_data\_exchange\_port | +|:---:|:---| +|描述| MPP 数据交换端口 | +|类型| int | +|默认值| 10740 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_schema\_region\_consensus\_port + +|名字| dn\_schema\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 元数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10750 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_data\_region\_consensus\_port + +|名字| dn\_data\_region\_consensus\_port | +|:---:|:---| +|描述| DataNode 数据副本的共识协议通信端口 | +|类型| int | +|默认值| 10760 | +|改后生效方式|仅允许在第一次启动服务前修改| + +* dn\_join\_cluster\_retry\_interval\_ms + +|名字| dn\_join\_cluster\_retry\_interval\_ms | +|:---:|:---------------------------------------| +|描述| DataNode 再次重试加入集群等待时间 | +|类型| long | +|默认值| 5000 | +|改后生效方式| 重启服务生效 | + + +### SSL 配置 + +* enable\_thrift\_ssl + +|名字| enable\_thrift\_ssl | +|:---:|:----------------------------------------------| +|描述| 当enable\_thrift\_ssl配置为true时,将通过dn\_rpc\_port使用 SSL 加密进行通信 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* enable\_https + +|名字| enable\_https | +|:---:|:-------------------------| +|描述| REST Service 是否开启 SSL 配置 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* key\_store\_path + +|名字| key\_store\_path | +|:---:|:-----------------| +|描述| ssl证书路径 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + +* key\_store\_pwd + +|名字| key\_store\_pwd | +|:---:|:----------------| +|描述| ssl证书密码 | +|类型| String | +|默认值| "" | +|改后生效方式| 重启服务生效 | + + +### SeedConfigNode 配置 + +* dn\_seed\_config\_node + +|名字| dn\_seed\_config\_node | +|:---:|:------------------------------------| +|描述| ConfigNode 地址,DataNode 启动时通过此地址加入集群,推荐使用 SeedConfigNode。V1.2.2 及以前曾用名是 dn\_target\_config\_node\_list | +|类型| String | +|默认值| 127.0.0.1:10710 | +|改后生效方式| 仅允许在第一次启动服务前修改 | + +### 连接配置 + +* dn\_session\_timeout\_threshold + +|名字| dn\_session_timeout_threshold | +|:---:|:------------------------------| +|描述| 最大的会话空闲时间 | +|类型| int | +|默认值| 0 | +|改后生效方式| 重启服务生效 | + + +* dn\_rpc\_thrift\_compression\_enable + +|名字| dn\_rpc\_thrift\_compression\_enable | +|:---:|:---------------------------------| +|描述| 是否启用 thrift 的压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_advanced\_compression\_enable + +|名字| dn\_rpc\_advanced\_compression\_enable | +|:---:|:-----------------------------------| +|描述| 是否启用 thrift 的自定制压缩机制 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启服务生效 | + +* dn\_rpc\_selector\_thread\_count + +| 名字 | rpc\_selector\_thread\_count | +|:------:|:-----------------------------| +| 描述 | rpc 选择器线程数量 | +| 类型 | int | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_min\_concurrent\_client\_num + +| 名字 | rpc\_min\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最小连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 1 | +| 改后生效方式 | 重启服务生效 | + +* dn\_rpc\_max\_concurrent\_client\_num + +| 名字 | dn\_rpc\_max\_concurrent\_client\_num | +|:------:|:----------------------------------| +| 描述 | 最大连接数 | +| 类型 | Short Int : [0,65535] | +| 默认值 | 65535 | +| 改后生效方式 | 重启服务生效 | + +* dn\_thrift\_max\_frame\_size + +|名字| dn\_thrift\_max\_frame\_size | +|:---:|:---| +|描述| RPC 请求/响应的最大字节数| +|类型| long | +|默认值| 536870912 (默认值512MB,应大于等于 512 * 1024 * 1024) | +|改后生效方式|重启服务生效| + +* dn\_thrift\_init\_buffer\_size + +|名字| dn\_thrift\_init\_buffer\_size | +|:---:|:---| +|描述| 字节数 | +|类型| long | +|默认值| 1024 | +|改后生效方式|重启服务生效| + +* dn\_connection\_timeout\_ms + +| 名字 | dn\_connection\_timeout\_ms | +|:------:|:----------------------------| +| 描述 | 节点连接超时时间 | +| 类型 | int | +| 默认值 | 60000 | +| 改后生效方式 | 重启服务生效 | + +* dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_core\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:--------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的核心 Client 个数 | +| 类型 | int | +| 默认值 | 200 | +| 改后生效方式 | 重启服务生效 | + +* dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager + +| 名字 | dn\_max\_client\_count\_for\_each\_node\_in\_client\_manager | +|:------:|:-------------------------------------------------------------| +| 描述 | 单 ClientManager 中路由到每个节点的最大 Client 个数 | +| 类型 | int | +| 默认值 | 300 | +| 改后生效方式 | 重启服务生效 | + +### 目录配置 + +* dn\_system\_dir + +| 名字 | dn\_system\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 元数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/system(Windows:data\\datanode\\system) | +| 改后生效方式 | 重启服务生效 | + +* dn\_data\_dirs + +| 名字 | dn\_data\_dirs | +|:------:|:-------------------------------------------------------------------| +| 描述 | IoTDB 数据存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/data(Windows:data\\datanode\\data) | +| 改后生效方式 | 重启服务生效 | + +* dn\_multi\_dir\_strategy + +| 名字 | dn\_multi\_dir\_strategy | +|:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 描述 | IoTDB 在 data\_dirs 中为 TsFile 选择目录时采用的策略。可使用简单类名或类名全称。系统提供以下三种策略:
1. SequenceStrategy:IoTDB 按顺序选择目录,依次遍历 data\_dirs 中的所有目录,并不断轮循;
2. MaxDiskUsableSpaceFirstStrategy:IoTDB 优先选择 data\_dirs 中对应磁盘空余空间最大的目录;
您可以通过以下方法完成用户自定义策略:
1. 继承 org.apache.iotdb.db.storageengine.rescon.disk.strategy.DirectoryStrategy 类并实现自身的 Strategy 方法;
2. 将实现的类的完整类名(包名加类名,UserDefineStrategyPackage)填写到该配置项;
3. 将该类 jar 包添加到工程中。 | +| 类型 | String | +| 默认值 | SequenceStrategy | +| 改后生效方式 | 热加载 | + +* dn\_consensus\_dir + +| 名字 | dn\_consensus\_dir | +|:------:|:-------------------------------------------------------------------------| +| 描述 | IoTDB 共识层日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/consensus(Windows:data\\datanode\\consensus) | +| 改后生效方式 | 重启服务生效 | + +* dn\_wal\_dirs + +| 名字 | dn\_wal\_dirs | +|:------:|:---------------------------------------------------------------------| +| 描述 | IoTDB 写前日志存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/wal(Windows:data\\datanode\\wal) | +| 改后生效方式 | 重启服务生效 | + +* dn\_tracing\_dir + +| 名字 | dn\_tracing\_dir | +|:------:|:--------------------------------------------------------------------| +| 描述 | IoTDB 追踪根目录路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | datanode/tracing | +| 改后生效方式 | 重启服务生效 | + +* dn\_sync\_dir + +| 名字 | dn\_sync\_dir | +|:------:|:----------------------------------------------------------------------| +| 描述 | IoTDB sync 存储路径,默认存放在和 sbin 目录同级的 data 目录下。相对路径的起始目录与操作系统相关,建议使用绝对路径。 | +| 类型 | String | +| 默认值 | data/datanode/sync | +| 改后生效方式 | 重启服务生效 | + +### Metric 配置 + +## 开启 GC 日志 + +GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 +若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: + +```bash +nohup sbin/start-datanode.sh printgc >/dev/null 2>&1 & +``` + +或者 + +```bash +sbin\start-datanode.bat printgc +``` + +GC 日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储 10 个 gc.log 文件,每个文件最多 10MB。 + +#### REST 服务配置 + +* enable\_rest\_service + +|名字| enable\_rest\_service | +|:---:|:--------------------| +|描述| 是否开启Rest服务。 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_service\_port + +|名字| rest\_service\_port | +|:---:|:------------------| +|描述| Rest服务监听端口号 | +|类型| int32 | +|默认值| 18080 | +|改后生效方式| 重启生效 | + +* enable\_swagger + +|名字| enable\_swagger | +|:---:|:-----------------------| +|描述| 是否启用swagger来展示rest接口信息 | +|类型| Boolean | +|默认值| false | +|改后生效方式| 重启生效 | + +* rest\_query\_default\_row\_size\_limit + +|名字| rest\_query\_default\_row\_size\_limit | +|:---:|:----------------------------------| +|描述| 一次查询能返回的结果集最大行数 | +|类型| int32 | +|默认值| 10000 | +|改后生效方式| 重启生效 | + +* cache\_expire + +|名字| cache\_expire | +|:---:|:--------------| +|描述| 缓存客户登录信息的过期时间 | +|类型| int32 | +|默认值| 28800 | +|改后生效方式| 重启生效 | + +* cache\_max\_num + +|名字| cache\_max\_num | +|:---:|:--------------| +|描述| 缓存中存储的最大用户数量 | +|类型| int32 | +|默认值| 100 | +|改后生效方式| 重启生效 | + +* cache\_init\_num + +|名字| cache\_init\_num | +|:---:|:---------------| +|描述| 缓存初始容量 | +|类型| int32 | +|默认值| 10 | +|改后生效方式| 重启生效 | + +* trust\_store\_path + +|名字| trust\_store\_path | +|:---:|:---------------| +|描述| keyStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* trust\_store\_pwd + +|名字| trust\_store\_pwd | +|:---:|:---------------| +|描述| trustStore 密码(非必填) | +|类型| String | +|默认值| "" | +|改后生效方式| 重启生效 | + +* idle\_timeout + +|名字| idle\_timeout | +|:---:|:--------------| +|描述| SSL 超时时间,单位为秒 | +|类型| int32 | +|默认值| 5000 | +|改后生效方式| 重启生效 | + + + diff --git a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual.md b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md similarity index 100% rename from src/zh/UserGuide/latest/Reference/DataNode-Config-Manual.md rename to src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md