...
πŸš€ deploy scylladb on ubuntu vps
Learn how to deploy scylladb on ubuntu vps!

This article provides a guide to deploy ScyllaDB on Ubuntu VPS.

What is ScyllaDB?

ScyllaDB is a high-performance, low-latency NoSQL database designed as a drop-in replacement for Apache Cassandra. It is written in C++ (instead of Java), enabling extremely fast throughput on modern hardwareβ€”making it ideal for real-time analytics, IoT, event streams, time-series workloads, and high-volume OLTP systems.

This guide walks you through installing and configuring ScyllaDB on an Ubuntu VPS, optimizing system parameters, and verifying your new cluster node is online.

βœ… Prerequisites

Before you begin:

  • Ubuntu 22.04 LTS or Ubuntu 20.04 LTS
  • sudo or root access
  • Minimum server specifications:
    • 2 CPU cores (4+ recommended)
    • 4GB RAM minimum (8–16GB recommended)
    • SSD/NVMe storage strongly recommended
    • A static public IP address
  • Open firewall ports:
    • 22 (SSH)
    • 7000 (intra-node)
    • 7001 (intra-node TLS)
    • 7199 (JMX)
    • 9042 (CQL)
    • 9160 (Thriftβ€”optional)
    • 9180 (REST API)
    • 9100 (Prometheus)

Launch 100% ssd ubuntu vps from $2. 49/mo!

Deploy ScyllaDB on Ubuntu VPS

To deploy ScyllaDB on Ubuntu VPS, follow the steps below:

  1. Update System Packages

    sudo apt update && sudo apt upgrade -y
    sudo apt install curl wget ufw gnupg2 -y
    
  2. Add the ScyllaDB APT Repository

    ScyllaDB provides official repositories for Ubuntu.

    Import GPG key:

    sudo mkdir -p /etc/apt/keyrings
    sudoΒ gpgΒ --homedirΒ /tmpΒ --no-default-keyringΒ --keyringΒ /etc/apt/keyrings/scylladb.gpgΒ --keyserverΒ hkp://keyserver.ubuntu.com:80Β --recv-keysΒ a43e06657bac99e3
    sudo wget -O /etc/apt/sources.list.d/scylla.list http://downloads.scylladb.com/deb/debian/scylla-2025.3.list
    

    Set Java 11:

    sudo apt update
    sudo apt install -y openjdk-11-jre-headless
    sudo update-java-alternatives --jre-headless -s java-1.11.0-openjdk-amd64
    
  3. Install ScyllaDB

    sudo apt update
    sudo apt install -y scylla
    
  4. Run the Scylla Setup Wizard

    Scylla includes a post-install configuration tool that prepares your system for optimal performance.

    Run:

    sudo scylla_setup
    

    Follow the interactive menu to:

    βœ” Configure RAID (if applicable)
    βœ” Optimize XFS filesystem
    βœ” Disable swap
    βœ” Tune kernel parameters
    βœ” Enable hugepages
    βœ” Configure networking
    βœ” Setup NTP time sync
    βœ” Enable Scylla services

    Choose β€œYes” for all optimizations unless you have custom requirements.

  5. Configure Scylla YAML

    Main config file:

    /etc/scylla/scylla.yaml
    

    Open it:

    sudo nano /etc/scylla/scylla.yaml
    

    Modify the following sections:

    Node listen address:

    listen_address: 
    

    RPC client address:

    rpc_address: 0.0.0.0
    

    Cluster name:

    cluster_name: 'MyScyllaCluster'
    

    Seed nodes (for single node):

    seed_provider:
      - class_name: org.apache.cassandra.locator.SimpleSeedProvider
        parameters:
          - seeds: ""
    

    Save and exit.

  6. Configure Systemd Services

    Enable and start Scylla:

    sudo systemctl enable --now scylla-server
    sudo systemctl enable --now scylla-jmx
    

    Check status:

    sudo systemctl status scylla-server
    

    You should see active (running).

  7. Open Firewall Ports (UFW)

    If you use UFW:

    sudo ufw allow 9042/tcp
    sudo ufw allow 7000/tcp
    sudo ufw allow 7001/tcp
    sudo ufw allow 7199/tcp
    sudo ufw allow 9180/tcp
    sudo ufw allow 9100/tcp
    

    Optional:

    sudo ufw allow 9160/tcp
    

    Reload:

    sudo ufw reload
    
  8. Verify the Node Is Operational

    Check ring status:

    sudo nodetool status
    

    You should see something like:

    UN  203.0.113.10   256  86.7 KB  rack1
    

    UN = Up / Normal

  9. Test CQL Connectivity

    Install cqlsh:

    sudo apt install scylla-tools-core -y
    

    Then connect:

    cqlsh  9042
    

    Example test:

    CREATE KEYSPACE demo
    WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
    
    CREATE TABLE demo.users (
        id UUID PRIMARY KEY,
        name text,
        email text
    );
    
    INSERT INTO demo.users(id,name,email)
    VALUES (uuid(), 'Larry', 'admin@example.com');
    
    SELECT * FROM demo.users;
    
  10. Enable Prometheus Metrics (Optional but Recommended)

    Scylla exposes metrics on port 9100.

    View endpoints:

    curl http://localhost:9100/metrics
    

    You can integrate with:

  11. Hardening & Optimization (Recommended)

    1. Disable swap:

      sudo swapoff -a
      sudo sed -i '/ swap / s/^/#/' /etc/fstab
      
    2. Add nofile limits:

      Add to /etc/security/limits.conf:

      * soft nofile 100000
      * hard nofile 100000
      
    3. Ensure consistent clock sync:

      sudo timedatectl set-ntp on
      
    4. Check Scylla tuning:

      sudo scylla_sysconfig_setup --no-force
      
  12. (Optional) Expanding to Multi-Node Cluster

    If scaling to multi-node:

    Use the first node as the seed:

    seeds: "node1-ip"
    

    On new nodes:

    listen_address: 
    rpc_address: 0.0.0.0
    

    Then join:

    sudo systemctl start scylla-server
    

    Check ring:

    nodetool status
    

πŸŽ‰ Your ScyllaDB Deployment Is Ready

You now have a fully tuned, production-ready ScyllaDB instance running on Ubuntu VPS. You can begin developing applications using:

  • CQL (Cassandra Query Language)
  • REST API
  • Java, Python, Go, Rust drivers
  • Time-series applications
  • Event streaming

Launch 100% ssd ubuntu vps from $2. 49/mo!

Conclusion

You now know how to deploy ScyllaDB on Ubuntu VPS.

See Also:

Avatar of editorial staff

Editorial Staff

Rad Web Hosting is a leading provider of web hosting, Cloud VPS, and Dedicated Servers in Dallas, TX.

One thought on β€œπŸš€ Deploy ScyllaDB on Ubuntu VPS”

Comments are closed.

lg