IoTDB has no strict operation requirements on disk array configuration. It is recommended to use multiple disk arrays to store IoTDB data to achieve the goal of concurrent writing to multiple disk arrays. For configuration, refer to the following suggestions:
Only a few hard disks are installed on the server. Configure Raid5 directly. The recommended configurations are as follows: | Use classification | Raid type | Disk number | Redundancy | Available capacity | | ----------- | -------- | -------- | --------- | -------- | | system/data disk | RAID5 | 4 | 1 | 3 | is allowed to fail|
The server is configured with twelve 3.5-inch disks. Two disks are recommended as Raid1 system disks. The two data disks can be divided into two Raid5 groups. Each group of five disks can be used as four disks. The recommended configurations are as follows: | Use classification | Raid type | Disk number | Redundancy | Available capacity | | -------- | -------- | -------- | --------- | -------- | | system disk | RAID1 | 2 | 1 | 1 | | data disk | RAID5 | 5 | 1 | 4 | | data disk | RAID5 | 5 | 1 | 4 |
The server is configured with 24 2.5-inch disks. Two disks are recommended as Raid1 system disks. The last two disks can be divided into three Raid5 groups. Each group of seven disks can be used as six disks. The remaining block can be idle or used to store pre-write logs. The recommended configurations are as follows: | Use classification | Raid type | Disk number | Redundancy | Available capacity | | -------- | -------- | -------- | --------- | -------- | | system disk | RAID1 | 2 | 1 | 1 | | data disk | RAID5 | 7 | 1 | 6 | | data disk | RAID5 | 7 | 1 | 6 | | data disk | RAID5 | 7 | 1 | 6 | | data disk | NoRaid | 1 | 0 | 1 |
IoTDB supports operating systems such as Linux, Windows, and MacOS, while the enterprise version supports domestic CPUs such as Loongson, Phytium, and Kunpeng. It also supports domestic server operating systems such as Neokylin, KylinOS, UOS, and Linx.
# View firewall systemctl status firewalld # Disable firewall systemctl stop firewalld # Disable firewall permanently systemctl disable firewalld
(1) Check the ports occupied by the cluster: In the default cluster configuration, ConfigNode occupies ports 10710 and 10720, and DataNode occupies ports 6667, 10730, 10740, 10750, 10760, 9090, 9190, and 3000. Ensure that these ports are not occupied. Check methods are as follows:
lsof -i:6667 or netstat -tunp | grep 6667 lsof -i:10710 or netstat -tunp | grep 10710 lsof -i:10720 or netstat -tunp | grep 10720 # If the command outputs, the port is occupied.
(2) Checking the port occupied by the cluster deployment tool: When using the cluster management tool opskit to install and deploy the cluster, enable the SSH remote connection service configuration and open port 22.
yum install openssh-server # Install the ssh service systemctl start sshd # Enable port 22
echo "vm.swappiness = 0">> /etc/sysctl.conf # The swapoff -a and swapon -a commands are executed together to dump the data in swap back to memory and to empty the data in swap. # Do not omit the swappiness setting and just execute swapoff -a; Otherwise, swap automatically opens again after the restart, making the operation invalid. swapoff -a && swapon -a # Make the configuration take effect without restarting. sysctl -p # Swap's used memory has become 0 free -m
# View current restrictions ulimit -n # Temporary changes ulimit -n 65535 # Permanent modification echo "* soft nofile 65535" >> /etc/security/limits.conf echo "* hard nofile 65535" >> /etc/security/limits.conf # View after exiting the current terminal session, expect to display 65535 ulimit -n
Install the Java runtime environment (Java version >= 1.8). Ensure that jdk environment variables are set. (It is recommended to deploy JDK17 for V1.3.2.2 or later. In some scenarios, the performance of JDK of earlier versions is compromised, and Datanodes cannot be stopped.)
# The following is an example of installing in centos7 using JDK-17: tar -zxvf JDk-17_linux-x64_bin.tar # Decompress the JDK file Vim ~/.bashrc # Configure the JDK environment { export JAVA_HOME=/usr/lib/jvm/jdk-17.0.9 export PATH=$JAVA_HOME/bin:$PATH } # Add JDK environment variables source ~/.bashrc # The configuration takes effect java -version # Check the JDK environment