blob: 29be49196ed8cfcaa43153480c0036c8aead731b [file] [log] [blame]
#
# 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.
#
####################
### Startup configuration
####################
# Used for cluster internal RPC communication.
# Could set 0.0.0.0, 127.0.0.1(for local test) or ipv4 address.
# Datatype: String
internal_address=0.0.0.0
# Used for cluster internal RPC communication
# Datatype: int
internal_port=22277
# Used for ConfigNodeGroup's ConsensusLayer interior communication
# Datatype: int
consensus_port=22278
# At least one running ConfigNode should be set for joining the cluster
# Format: ip:port
# where the ip should be consistent with the target ConfigNode's confignode_internal_address,
# and the port should be consistent with the target ConfigNode's confignode_internal_port.
# For the first ConfigNode to start, target_config_nodes points to its own internal_address:internal_port.
# For other ConfigNodes that are started or restarted, target_config_nodes points to any running ConfigNode's internal_address:internal_port.
# Notice: The ip for any target_config_node should never be 0.0.0.0
# Datatype: String
target_config_nodes=127.0.0.1:22277
####################
### Region configuration
####################
# SchemaRegion consensus protocol type.
# This parameter is unmodifiable after ConfigNode starts for the first time.
# These consensus protocols are currently supported:
# 1. org.apache.iotdb.consensus.standalone.StandAloneConsensus(Consensus patterns optimized specifically for single replica)
# 2. org.apache.iotdb.consensus.ratis.RatisConsensus(Raft protocol)
# Datatype: String
# schema_region_consensus_protocol_class=org.apache.iotdb.consensus.standalone.StandAloneConsensus
# The maximum number of SchemaRegion expected to be managed by each DataNode.
# Notice: Since each StorageGroup requires at least one SchemaRegion to manage its schema,
# this parameter doesn't limit the number of SchemaRegions when there are too many StorageGroups.
# Datatype: Double
# schema_region_per_data_node=1.0
# DataRegion consensus protocol type.
# This parameter is unmodifiable after ConfigNode starts for the first time.
# These consensus protocols are currently supported:
# 1. org.apache.iotdb.consensus.standalone.StandAloneConsensus(Consensus patterns optimized specifically for single replica)
# 2. org.apache.iotdb.consensus.multileader.MultiLeaderConsensus(weak consistency, high performance)
# 3. org.apache.iotdb.consensus.ratis.RatisConsensus(Raft protocol)
# Datatype: String
# data_region_consensus_protocol_class=org.apache.iotdb.consensus.standalone.StandAloneConsensus
# The maximum number of DataRegion expected to be managed by each processor.
# Notice: Since each StorageGroup requires at least two DataRegions to manage its data,
# this parameter doesn't limit the number of DataRegions when there are too many StorageGroups.
# Datatype: Double
# data_region_per_processor=0.5
# Region allocate strategy
# These allocate strategies are currently supported:
# 1. GREEDY(Default, when region is allocated, always choose the dataNode that has bean allocated the least regions)
# 2. COPY_SET(Random replication according to wight calculated from number of regions on all online dataNodes, suitable for large clusters)
# Datatype: String
# region_allocate_strategy=GREEDY
####################
### PartitionSlot configuration
####################
# All parameters in PartitionSlot configuration is unmodifiable after ConfigNode starts for the first time.
# And these parameters should be consistent within the ConfigNodeGroup.
# Number of SeriesPartitionSlots per StorageGroup
# Datatype: int
# series_partition_slot_num=10000
# SeriesPartitionSlot executor class
# These hashing algorithms are currently supported:
# 1. BKDRHashExecutor(Default)
# 2. APHashExecutor
# 3. JSHashExecutor
# 4. SDBMHashExecutor
# Also, if you want to implement your own SeriesPartition executor, you can inherit the SeriesPartitionExecutor class and
# modify this parameter to correspond to your Java class
# Datatype: String
# series_partition_executor_class=org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor
####################
### StorageGroup configuration
####################
# All parameters in StorageGroup configuration is unmodifiable after ConfigNode starts for the first time.
# And these parameters should be consistent within the ConfigNodeGroup.
# Default TTL for storage groups that are not set TTL by statements, in ms. If not set (default),
# the TTL will be unlimited.
# Notice: if this property is changed, previous created storage group which are not set TTL will
# also be affected. And negative values are accepted, which means you can only insert future data.
# Datatype: long
# default_ttl=36000000
# Time partition interval in milliseconds, default is equal to one day
# Datatype: long
# time_partition_interval_for_routing=86400000
# Default number of SchemaRegion replicas
# Datatype: int
# schema_replication_factor=1
# Default number of DataRegion replicas
# Datatype: int
# data_replication_factor=1
####################
### thrift rpc configuration
####################
# this feature is under development, set this as false before it is done.
# Datatype: boolean
# rpc_thrift_compression_enable=false
# if true, a snappy based compression method will be called before sending data by the network
# Datatype: boolean
# this feature is under development, set this as false before it is done.
# rpc_advanced_compression_enable=false
# Datatype: int
# rpc_max_concurrent_client_num=65535
# thrift max frame size, 512MB by default
# Datatype: int
# thrift_max_frame_size=536870912
# thrift init buffer size
# Datatype: int
# thrift_init_buffer_size=1024
# Thrift socket and connection timeout between raft nodes, in milliseconds.
# Datatype: int
# connection_timeout_ms=20000
# selector thread (TAsyncClientManager) nums for async thread in a clientManager
# Datatype: int
# selector_thread_nums_of_client_manager=1
####################
### Directory configuration
####################
# system dir
# If this property is unset, system will save the data in the default relative path directory under the confignode folder(i.e., %CONFIGNODE_HOME%/data/system).
# If it is absolute, system will save the data in exact location it points to.
# If it is relative, system will save the data in the relative path directory it indicates under the confignode folder.
# For windows platform
# If its prefix is a drive specifier followed by "\\", or if its prefix is "\\\\", then the path is absolute. Otherwise, it is relative.
# system_dir=data\\system
# For Linux platform
# If its prefix is "/", then the path is absolute. Otherwise, it is relative.
# system_dir=data/system
# consensus dir
# If this property is unset, system will save the data in the default relative path directory under the confignode folder(i.e., %CONFIGNODE_HOME%/data/consensus).
# If it is absolute, system will save the data in exact location it points to.
# If it is relative, system will save the data in the relative path directory it indicates under the confignode folder.
# Note: If data_dir is assigned an empty string(i.e.,zero-size), it will be handled as a relative path.
# For windows platform
# If its prefix is a drive specifier followed by "\\", or if its prefix is "\\\\", then the path is absolute. Otherwise, it is relative.
# consensus_dir=data\\consensus
# For Linux platform
# If its prefix is "/", then the path is absolute. Otherwise, it is relative.
# consensus_dir=data/consensus
# UDF lib dir
# If this property is unset, system will save the data in the default relative path directory under
# the UDF folder(i.e., %CONFIGNODE_HOME%/ext/udf).
#
# If it is absolute, system will save the data in exact location it points to.
# If it is relative, system will save the data in the relative path directory it indicates under the
# UDF folder.
# Note: If data_dir is assigned an empty string(i.e.,zero-size), it will be handled as a relative
# path.
#
# For Window platform
# If its prefix is a drive specifier followed by "\\", or if its prefix is "\\\\", then the path is
# absolute. Otherwise, it is relative.
# udf_lib_dir=ext\\udf
#
# For Linux platform
# If its prefix is "/", then the path is absolute. Otherwise, it is relative.
# udf_lib_dir=ext/udf
# temporary lib dir
# If this property is unset, system will save the data in the default relative path directory under
# the UDF folder(i.e., %CONFIGNODE_HOME%/ext/temporary).
#
# If it is absolute, system will save the data in exact location it points to.
# If it is relative, system will save the data in the relative path directory it indicates under the
# UDF folder.
# Note: If data_dir is assigned an empty string(i.e.,zero-size), it will be handled as a relative
# path.
#
# For Window platform
# If its prefix is a drive specifier followed by "\\", or if its prefix is "\\\\", then the path is
# absolute. Otherwise, it is relative.
# temporary_lib_dir=ext\\temporary
#
# For Linux platform
# If its prefix is "/", then the path is absolute. Otherwise, it is relative.
# temporary_lib_dir=ext/temporary
####################
### Procedure Configuration
####################
# Default number of worker thread count
# Datatype: int
#procedure_core_worker_thread_size=4
# Default time interval of completed procedure cleaner work in, time unit is second
# Datatype: int
#procedure_completed_clean_interval=30
# Default ttl of completed procedure, time unit is second
# Datatype: int
#procedure_completed_evict_ttl=800
####################
### Heartbeat configuration
####################
# The heartbeat interval in milliseconds, default is 1000ms
# Datatype: long
# heartbeat_interval=1000
####################
### Routing policy
####################
# The routing policy of read/write requests
# These routing policy are currently supported:
# 1. leader(Default, routing to leader replica)
# 2. greedy(Routing to replica with the lowest load, might cause read un-consistent)
# Datatype: string
# routing_policy=leader
####################
### Read configuration
####################
# The read consistency level
# These consistency levels are currently supported:
# 1. strong(Default, read from the leader replica)
# 2. weak(Read from a random replica)
# Datatype: string
# read_consistency_level=strong
####################
### Authorization Configuration
####################
# which class to serve for authorization. By default, it is LocalFileAuthorizer.
# Another choice is org.apache.iotdb.db.auth.authorizer.OpenIdAuthorizer
# authorizer_provider_class=org.apache.iotdb.commons.auth.authorizer.LocalFileAuthorizer
# If OpenIdAuthorizer is enabled, then openID_url must be set.
# openID_url=
# admin username, default is root
# Datatype: string
# admin_name=root
# encryption provider class
# iotdb_server_encrypt_decrypt_provider=org.apache.iotdb.commons.security.encrypt.MessageDigestEncrypt
# encryption provided class parameter
# iotdb_server_encrypt_decrypt_provider_parameter=
# admin password, default is root
# Datatype: string
# admin_password=root
####################
### RatisConsensus Configuration
####################
# max payload size for a single log-sync-RPC from leader to follower
# partition_region_ratis_log_appender_buffer_size_max = 4194304
# schema_region_ratis_log_appender_buffer_size_max = 4194304
# data_region_ratis_log_appender_buffer_size_max = 4194304
# trigger a snapshot when ratis_snapshot_trigger_threshold logs are written
# partition_region_ratis_snapshot_trigger_threshold = 400000
# schema_region_ratis_snapshot_trigger_threshold = 400000
# data_region_ratis_snapshot_trigger_threshold = 400000
# allow flushing Raft Log asynchronously
# partition_region_ratis_log_unsafe_flush_enable = false
# schema_region_ratis_log_unsafe_flush_enable = false
# data_region_ratis_log_unsafe_flush_enable = false
# max capacity of a single Raft Log segment (by default 24MB)
# partition_region_ratis_log_segment_size_max = 25165824
# schema_region_ratis_log_segment_size_max = 25165824
# data_region_ratis_log_segment_size_max = 25165824
# flow control window for ratis grpc log appender
# partition_region_ratis_grpc_flow_control_window = 4194304
# schema_region_ratis_grpc_flow_control_window = 4194304
# data_region_ratis_grpc_flow_control_window = 4194304
# min election timeout for leader election
# partition_region_ratis_rpc_leader_election_timeout_min_ms = 2000
# schema_region_ratis_rpc_leader_election_timeout_min_ms = 2000
# data_region_ratis_rpc_leader_election_timeout_min_ms = 2000
# max election timeout for leader election
# partition_region_ratis_rpc_leader_election_timeout_max_ms = 4000
# schema_region_ratis_rpc_leader_election_timeout_max_ms = 4000
# data_region_ratis_rpc_leader_election_timeout_max_ms = 4000
####################
### Disk Monitor
####################
# Disk remaining threshold at which DataNode is set to ReadOnly status
# Datatype: double(percentage)
# disk_space_warning_threshold=5.0