This guide introduces how to set up a standalone TimechoDB instance, which includes one ConfigNode and one DataNode (commonly referred to as 1C1D).
System Preparation: Ensure the system has been configured according to the System Requirements.
IP Configuration: It is recommended to use hostnames for IP configuration to prevent issues caused by IP address changes. Set the hostname by editing the /etc/hosts file. For example, if the local IP is 192.168.1.3 and the hostname is iotdb-1, run:
echo "192.168.1.3 iotdb-1" >> /etc/hosts
Use the hostname for cn_internal_address and dn_internal_address in IoTDB configuration.
Unmodifiable Parameters: Some parameters cannot be changed after the first startup. Refer to the Parameter Configuration section.
Installation Path: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues.
User Permissions: Choose one of the following permissions during installation and deployment:
sudo, which can cause permission conflicts.Health Check Tool: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:Health Check Tool.
To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment.
cd /data/iotdb
sha512sum apache-iotdb-{version}-all-bin.zip
Unzip the installation package and navigate to the directory:
unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin
Edit the following files for memory allocation:
conf/confignode-env.sh (or .bat for Windows)conf/datanode-env.sh (or .bat for Windows)| Parameter | Description | Default | Recommended | Notes |
|---|---|---|---|---|
| MEMORY_SIZE | Total memory allocated for the node | Empty | As needed | Save changes without immediate execution; modifications take effect after service restart. |
Set the following parameters in conf/iotdb-system.properties. Refer to conf/iotdb-system.properties.template for a complete list.
Cluster-Level Parameters:
| Parameter | Description | Default | Recommended | Notes |
|---|---|---|---|---|
| cluster_name | Name of the cluster | defaultCluster | Customizable | Support hot loading, but it is not recommended to change the cluster name by manually modifying the configuration file. |
| schema_replication_factor | Number of metadata replicas | 1 | 1 | In standalone mode, set this to 1. This value cannot be modified after the first startup. |
| data_replication_factor | Number of data replicas | 1 | 1 | In standalone mode, set this to 1. This value cannot be modified after the first startup. |
ConfigNode Parameters:
| Parameter | Description | Default | Recommended | Notes |
|---|---|---|---|---|
| cn_internal_address | Address used for internal communication within the cluster | 127.0.0.1 | Server's IPv4 address or hostname. Use hostname to avoid issues when the IP changes. | This parameter cannot be modified after the first startup. |
| cn_internal_port | Port used for internal communication within the cluster | 10710 | 10710 | This parameter cannot be modified after the first startup. |
| cn_consensus_port | Port used for consensus protocol communication among ConfigNode replicas | 10720 | 10720 | This parameter cannot be modified after the first startup. |
| cn_seed_config_node | Address of the ConfigNode for registering and joining the cluster. (e.g.,cn_internal_address:cn_internal_port) | 127.0.0.1:10710 | Use cn_internal_address:cn_internal_port | This parameter cannot be modified after the first startup. |
DataNode Parameters:
| Parameter | Description | Default | Recommended | Notes |
|---|---|---|---|---|
| dn_rpc_address | Address for the client RPC service | 0.0.0.0 | The IPV4 address or host name of the server where it is located, and it is recommended to use the IPV4 address | Effective after restarting the service. |
| dn_rpc_port | Port for the client RPC service | 6667 | 6667 | Effective after restarting the service. |
| dn_internal_address | Address used for internal communication within the cluster | 127.0.0.1 | Server's IPv4 address or hostname. Use hostname to avoid issues when the IP changes. | This parameter cannot be modified after the first startup. |
| dn_internal_port | Port used for internal communication within the cluster | 10730 | 10730 | This parameter cannot be modified after the first startup. |
| dn_mpp_data_exchange_port | Port used for receiving data streams | 10740 | 10740 | This parameter cannot be modified after the first startup. |
| dn_data_region_consensus_port | Port used for data replica consensus protocol communication | 10750 | 10750 | This parameter cannot be modified after the first startup. |
| dn_schema_region_consensus_port | Port used for metadata replica consensus protocol communication | 10760 | 10760 | This parameter cannot be modified after the first startup. |
| dn_seed_config_node | Address of the ConfigNode for registering and joining the cluster. (e.g.,cn_internal_address:cn_internal_port) | 127.0.0.1:10710 | Use cn_internal_address:cn_internal_port | This parameter cannot be modified after the first startup. |
Navigate to the sbin directory and start ConfigNode:
./sbin/start-confignode.sh -d # The "-d" flag starts the process in the background.
If the startup fails, refer to the Common Issues。 section below for troubleshooting.
Navigate to the sbin directory of IoTDB and start the DataNode:
./sbin/start-datanode.sh -d # The "-d" flag starts the process in the background.
Enter the IoTDB CLI.
# For Linux or macOS ./start-cli.sh -sql_dialect table # For Windows ./start-cli.bat -sql_dialect table
ConfigNode Fails to Start
Clean the Environment
Stop all ConfigNode and DataNode processes:
sbin/stop-standalone.sh
Check for any remaining processes:
jps # or ps -ef | grep iotdb
If processes remain, terminate them manually:
kill -9 <pid> #For systems with a single IoTDB instance, you can clean up residual processes with: ps -ef | grep iotdb | grep -v grep | tr -s ' ' ' ' | cut -d ' ' -f2 | xargs kill -9
Delete the data and logs directories:
cd /data/iotdb rm -rf data logs
| Parameter | Description | Required |
|---|---|---|
| -d | Starts the process in daemon mode (runs in the background). | No |
| Parameter | Description | Required |
|---|---|---|
| -v | Displays version information. | No |
| -f | Runs the script in the foreground without backgrounding it. | No |
| -d | Starts the process in daemon mode (runs in the background). | No |
| -p | Specifies a file to store the process ID for process management. | No |
| -c | Specifies the path to the configuration folder; the script loads configuration files from this location. | No |
| -g | Prints detailed garbage collection (GC) information. | No |
| -H | Specifies the path for the Java heap dump file, used during JVM memory overflow. | No |
| -E | Specifies the file for JVM error logs. | No |
| -D | Defines system properties in the format key=value. | No |
| -X | Passes -XX options directly to the JVM. | No |
| -h | Displays the help instructions. | No |