...
🚀 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!


Compare Ubuntu VPS Plans

KVM-SSD-1
KVM-SSD-8
KVM-SSD-16
KVM-SSD-32
CPU
1 Core
2 Cores
4 Cores
8 Cores
Memory
1 GB
8 GB
16 GB
32 GB
Storage
16 GB NVMe
128 GB NVMe
256 GB NVMe
512 GB NVMe
Bandwidth
1 TB
4 TB
8 TB
16 TB
Network
1 Gbps
1 Gbps
1 Gbps
1 Gbps
Delivery Time
⏱️ Instant
⏱️ Instant
⏱️ Instant
⏱️ Instant
Location
US/EU/APAC
US/EU/APAC
US/EU/APAC
US/EU/APAC
Price
$7.58*
$39.50*
$79.40*
$151.22*
KVM-SSD-1
$7.58*
CPU 1 Core
Memory 1 GB
Storage 16 GB NVMe
Bandwidth 1 TB
Network 1 Gbps
Delivery Time ⏱️ Instant
Location US/EU/APAC
KVM-SSD-8
$39.50*
CPU 2 Cores
Memory 8 GB
Storage 128 GB NVMe
Bandwidth 4 TB
Network 1 Gbps
Delivery Time ⏱️ Instant
Location US/EU/APAC
KVM-SSD-16
$79.40*
CPU 4 Cores
Memory 16 GB
Storage 256 GB NVMe
Bandwidth 8 TB
Network 1 Gbps
Delivery Time ⏱️ Instant
Location US/EU/APAC
KVM-SSD-32
$151.22*
CPU 8 Cores
Memory 32 GB
Storage 512 GB NVMe
Bandwidth 16 TB
Network 1 Gbps
Delivery Time ⏱️ Instant
Location US/EU/APAC

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:

    See Also: Deploy VoIP Call Center on VPS

    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