This article uses a local environment as an example to illustrate how to start, expand, and shrink an IoTDB Cluster.
Notice: This document is a tutorial for deploying in a pseudo-cluster environment using different local ports, and is for exercise only. In real deployment scenarios, you only need to configure the IPV4 address or domain name of the server, and do not need to change the Node ports.
Unzip the apache-iotdb-1.0.0-all-bin.zip file to cluster0 folder.
Start the Cluster version with one ConfigNode and one DataNode(1C1D), and the default number of replicas is one.
./cluster0/sbin/start-confignode.sh ./cluster0/sbin/start-datanode.sh
./cluster0/sbin/start-cli.sh
IoTDB> show cluster details +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort |SchemaConsensusPort|DataConsensusPort| +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| +------+----------+-------+---------------+------------+-------------------+----------+-------+--------+-------------------+-----------------+ Total line number = 2 It costs 0.242s
Unzip the apache-iotdb-1.0.0-all-bin.zip file to cluster1 and cluster2 folder.
For folder cluster1:
| configuration item | value |
|---|---|
| cn_internal_address | 127.0.0.1 |
| cn_internal_port | 10711 |
| cn_consensus_port | 10721 |
| cn_target_config_node_list | 127.0.0.1:10710 |
| configuration item | value |
|---|---|
| dn_rpc_address | 127.0.0.1 |
| dn_rpc_port | 6668 |
| dn_internal_address | 127.0.0.1 |
| dn_internal_port | 10731 |
| dn_mpp_data_exchange_port | 10741 |
| dn_schema_region_consensus_port | 10751 |
| dn_data_region_consensus_port | 10761 |
| dn_target_config_node_list | 127.0.0.1:10710 |
For folder cluster2:
| configuration item | value |
|---|---|
| cn_internal_address | 127.0.0.1 |
| cn_internal_port | 10712 |
| cn_consensus_port | 10722 |
| cn_target_config_node_list | 127.0.0.1:10710 |
| configuration item | value |
|---|---|
| dn_rpc_address | 127.0.0.1 |
| dn_rpc_port | 6669 |
| dn_internal_address | 127.0.0.1 |
| dn_internal_port | 10732 |
| dn_mpp_data_exchange_port | 10742 |
| dn_schema_region_consensus_port | 10752 |
| dn_data_region_consensus_port | 10762 |
| dn_target_config_node_list | 127.0.0.1:10710 |
Expanding the Cluster to three ConfigNode and three DataNode(3C3D). The following commands can be executed in arbitrary order.
./cluster1/sbin/start-confignode.sh ./cluster1/sbin/start-datanode.sh ./cluster2/sbin/start-confignode.sh ./cluster2/sbin/start-datanode.sh
Execute the show cluster details command, then the result is shown below:
IoTDB> show cluster details +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | | 2|ConfigNode|Running| 127.0.0.1| 10711| 10721| | | | | | | 3|ConfigNode|Running| 127.0.0.1| 10712| 10722| | | | | | | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| | 4| DataNode|Running| 127.0.0.1| 10731| | 127.0.0.1| 6668| 10741| 10751| 10761| | 5| DataNode|Running| 127.0.0.1| 10732| | 127.0.0.1| 6669| 10742| 10752| 10762| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ Total line number = 6 It costs 0.012s
# Removing by ip:port ./cluster0/sbin/remove-confignode.sh 127.0.0.1:10711 # Removing by Node index ./cluster0/sbin/remove-confignode.sh 2
# Removing by ip:port ./cluster0/sbin/remove-datanode.sh 127.0.0.1:6668 # Removing by Node index ./cluster0/sbin/remove-confignode.sh 4
Execute the show cluster details command, then the result is shown below:
IoTDB> show cluster details +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ |NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort|RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ | 0|ConfigNode|Running| 127.0.0.1| 10710| 10720| | | | | | | 3|ConfigNode|Running| 127.0.0.1| 10712| 10722| | | | | | | 1| DataNode|Running| 127.0.0.1| 10730| | 127.0.0.1| 6667| 10740| 10750| 10760| | 5| DataNode|Running| 127.0.0.1| 10732| | 127.0.0.1| 6669| 10742| 10752| 10762| +------+----------+-------+---------------+------------+-------------------+----------+-------+-------+-------------------+-----------------+ Total line number = 4 It costs 0.005s