| # |
| # 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 seconds, default is equal to one day |
| # Datatype: long |
| # time_partition_interval=86400 |
| |
| |
| # 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 |
| # ratis_log_appender_buffer_size_max = 4194304 |
| |
| # trigger a snapshot when ratis_snapshot_trigger_threshold logs are written |
| # ratis_snapshot_trigger_threshold = 400000 |
| |
| # allow flushing Raft Log asynchronously |
| # ratis_log_unsafe_flush_enable = false |
| |
| # max capacity of a single Raft Log segment (by default 24MB) |
| # ratis_log_segment_size_max = 25165824 |
| |
| # flow control window for ratis grpc log appender |
| # ratis_grpc_flow_control_window = 4194304 |
| |
| # min election timeout for leader election |
| # ratis_rpc_leader_election_timeout_min_ms = 2000 |
| |
| # max election timeout for leader election |
| # 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 |
| |