blob: c131988c90aabc8ac5dd56cad170f88d18bc8267 [file] [log] [blame] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# 配置项修改介绍
## 设置方式
* 使用sql语句修改【推荐】
* 直接修改配置文件【不推荐】
## 生效方式
* 第一次启动后不可修改 (first_start)
* 重启后生效 (restart)
* 热加载 (hot_reload)
# 直接修改配置文件
可以通过重启或以下命令生效
## 热加载配置命令
使支持热加载的配置项改动立即生效。
对于已经写在配置文件中修改过的配置项,从配置文件中删除或注释后再进行 load configuration 将恢复默认值。
```
load configuration
```
# 配置项操作语句
设置配置项
```
set configuration 'key1' = 'value1' 'key2' = 'value2'... (on nodeId)
```
### 示例1
```
set configuration 'enable_cross_space_compaction' = 'false'
```
对集群所有节点永久生效,设置 enable_cross_space_compaction 为 false,并写入到 iotdb-system.properties 中。
### 示例2
```
set configuration 'enable_cross_space_compaction' ='false' 'enable_seq_space_compaction' = 'false' on 1
```
对 nodeId 为 1 的节点永久生效,设置 enable_cross_space_compaction 为 false,设置 enable_seq_space_compaction 为 false,并写入到 iotdb-system.properties 中。
### 示例3
```
set configuration 'enable_cross_space_compaction' = 'false' 'timestamp_precision' = 'ns'
```
对集群所有节点永久生效,设置 enable_cross_space_compaction 为 false,timestamp_precision 为 ns,并写入到 iotdb-system.properties 中。但是,timestamp_precision 是第一次启动后就无法修改的配置项,因此会忽略这个配置项的更新,返回如下。
```
Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 301: ignored config items: [timestamp_precision]
```
# 生效配置项
支持热加载立即生效的配置项在 iotdb-system.properties.template 文件中标记 effectiveMode 为 hot_reload
示例
```
# Used for indicate cluster name and distinguish different cluster.
# If you need to modify the cluster name, it's recommended to use [set configuration 'cluster_name'='xxx'] sql.
# Manually modifying configuration file is not recommended, which may cause node restart fail.
# effectiveMode: hot_reload
# Datatype: string
cluster_name=defaultCluster
```