๐Ÿš€ 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.
lg