Download PDFSubmit Feedback

  • Hardware
  • Operating System and CPU Architectures
  • Software Dependencies
  • Ports
  • Installation Packages and Compiled Versions
  • Node Configuration

Prepare for Bare-Metal Deployment

Hardware

Note

KWDB uses cross-node replication to maintain data redundancy across multiple nodes. To maintain high availability and protect against data loss, deploy each KWDB node on a separate physical or virtual machine.

The following specifications are required for KWDB deployment:

ItemRequirements
CPU and Memory- Minimum: 4 CPU cores and 8 GB RAM per node
- For high-volume data, complex workloads, high concurrency, or performance-critical applications, allocate additional resources accordingly
Disk- Recommended: SSD or NVMe devices
- Minimum performance: 500 IOPS and 30 MB/s throughput
- Storage: <1 GB for KWDB system, with additional space needed based on data volume
- Avoid shared storage (NFS, CIFS, CEPH)
- HDDs not recommended for distributed cluster deployments
File Systemext4 recommended for optimal performance

Operating System and CPU Architectures

KWDB can be deployed on the following operating systems:

Operating SystemVersionARM_64x86_64
Anolis8
KylinOSV10 SP2
V10 SP3 2403
UbuntuV20.04
V22.04
V24.04
UOS1070e
Windows ServerWSL2

Note

Software Dependencies

The following table lists the required dependencies:

DependencyVersionRemarks
OpenSSLv1.1.1+N/A
libprotobufv3.6.1+The default version of libprotobuf included in Ubuntu 18.04 is lower than the required version. Before deployment, install the required version in advance (versions 3.6.1 and 3.12.4 are recommended).
GEOSv3.3.8+Optional
xz-libsv5.2.0+N/A
libgccv7.3.0+N/A
libgflagsSystem defaultN/A
libkrb5System defaultN/A

During installation, KWDB verifies the necessary dependencies. If any are missing, the installation process will halt and prompt you to install them. If the target machine is offline, you will need to download the required dependencies from an internet-connected device and then transfer the files to the target machine.

Ports

Ensure these default ports are available and not blocked by firewalls. Port settings can be modified during installation.

PortDescription
8080Port for HTTP requests and web services
26257Port for connections from clients, applications, and other nodes
27257Port for inter-node brpc communication between KWDB time-series engines

Installation Packages and Compiled Versions

Use pre-compiled installation packages or compile from source code as needed.

Installation Package

Obtain the DEB or RPM installation package for your system environment, copy the package to the target machine, and then decompress it.

Note

The KWDB repository currently provides DEB or RPM installation packagesopen in new window for the following systems and architectures. For packages for other systems or architectures, please contact KWDB Technical Supportopen in new window.

  • Ubuntu V20.04 x86_64
  • Ubuntu V22.04 x86_64
  • Kylin V10_2403 x86_64
  • Kylin V10_2403 ARM_64
tar -zxvf <install_package_name>

The extracted kwdb_install directory contains the following files and folders:

File/FolderDescription
add_user.shScript for creating KWDB users after installation and startup.
deploy.cfgConfiguration file for node IP addresses, ports, and other options.
deploy.shScript for KWDB installation, uninstallation, start, status check, and stop operations.
packagesStores DEB or RPM packages.
utilsStores utility scripts.

Source Code Compilation

Complete source code download and compilation according to the KWDB Compilation and Installation Instructionsopen in new window.

Node Configuration

SSH Passwordless Login

To enable secure communication between cluster nodes, configure passwordless SSH authentication:

  1. Log into a node and generate a public/private key pair.

    ssh-keygen -f ~/.ssh/id_rsa -N ""
    

    Parameters:

    • -f ~/.ssh/id_rsa: Sets the output path for the key files.
    • -N: Creates the key without a passphrase, necessary for automated authentication.
  2. Copy the public key to each cluster node.

    ssh-copy-id -f -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no <target_node>
    
  3. Verify SSH connectivity with each node.

    ssh <target_node>
    

Time Synchronization

KWDB requires synchronized time across all nodes to maintain data consistency. If a node's system time differs by more than 80% of the allowed error (default 500 ms) from at least half of the other nodes, it will stop automatically to avoid data inconsistencies. Ensure every node runs NTP or another time synchronization service.

The following example demonstrates how to configure time synchronization on CentOS 7.

  1. SSH into the target node.

  2. Disable the timesyncd service.

    timedatectl set-ntp no
    
  3. Install the NTP package.

    sudo apt install ntp
    
  4. Stop any running NTP processes.

    service ntp stop
    
  5. Synchronize time with a public NTP server.

    ntpdate -u 0.cn.pool.ntp.org
    
  6. Configure NTP servers by editing /etc/ntp.conf.

    server 0.cn.pool.ntp.org iburst
    server 1.cn.pool.ntp.org iburst
    server 2.cn.pool.ntp.org iburst
    server 3.cn.pool.ntp.org iburst
    
  7. Start and enable the NTP service.

    service ntp start
    
  8. Repeat these steps on every node in the cluster.