Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To run Cassandra as a real Ubuntu cluster, install the same Cassandra 5.0 release and Java runtime on at least three nodes, give every node a stable private address, configure shared seeds and a unique listen_address, define datacenter and rack topology, open only the required internode and client ports, and verify that every member reaches UN (Up/Normal) in nodetool status. A multi-node deployment is not several independent single-node installations: gossip, replica placement, firewall rules, authentication, encryption, repair and backup must be designed together.

The procedure below follows the Apache Cassandra 5.0 documentation set current in 2026. It uses Debian packages on Ubuntu, but also explains when a tarball or Docker deployment is more appropriate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan the cluster before installing anything

Start with three or more Ubuntu machines. Three nodes let Cassandra place replicas across separate failure domains and continue operating when one machine is unavailable, provided your keyspace replication strategy and consistency levels match that goal. The number three is a practical starting point, not a universal replication-factor requirement.

Choose addresses and failure domains

Each node needs a stable, mutually resolvable private address. Record a hostname, private IP address, datacenter and rack for every machine before editing configuration. Do not mix public and private interfaces accidentally: internode traffic must use an address that the other Cassandra nodes can route to.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Node Example private address Datacenter Rack
node1 10.0.1.11 dc1 rack1
node2 10.0.1.12 dc1 rack2
node3 10.0.1.13 dc1 rack3

The addresses in this table are examples only. Use the addresses supplied by your Ubuntu network, cloud VPC or data-center network. Make sure forward and reverse name resolution, or equivalent host mappings, work consistently on every node.

Set the operating-system baseline

  • Use the same Cassandra major and minor version on all nodes.
  • Synchronize system clocks; large clock differences complicate logs, certificates and operational diagnosis.
  • Provide enough disk for the data set, compaction overhead, commit logs, snapshots and temporary streaming files. Plan capacity before adding production data.
  • Keep the datacenter and rack design stable. Replica placement depends on it.
  • Decide which networks are trusted for internode traffic and which clients may reach the native transport interface.

Choose an installation method

The APT package is the most direct fit for Ubuntu because package files live under the standard Cassandra configuration tree and the service can be supervised by the operating system. A tarball gives you more control over where Cassandra is installed, while Docker can simplify image-based lifecycle management but moves filesystem, networking and service ownership into your container platform.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method Lifecycle and upgrades Filesystem and supervision Operational trade-off
APT package Repository-managed updates and package rollback procedures Uses /etc/cassandra and a host service manager Best fit when Ubuntu administrators own the hosts and want conventional logs and service controls
Tarball You select the archive, upgrade sequence and rollback directory You choose paths and must provide service supervision Useful when repository policy or custom layouts require it; more host integration is your responsibility
Docker Image tags control upgrades and rollbacks Persistent volumes, container networking and orchestration provide supervision Requires careful handling of stable node identity, storage latency, ports and volume recovery

The steps that follow use APT. Do not combine package, tarball and container files for the same node unless you have deliberately designed that migration.

Install Java and the cqlsh prerequisite

Apache Cassandra 5.0 documentation requires Java 11 or Java 17. Install one supported JDK on every node and verify the runtime before installing Cassandra.

  1. Install Java 11 or Java 17 using your approved Ubuntu package source.
  2. Run java -version and confirm that the reported major version is 11 or 17.
  3. If operators will use cqlsh, provide Python 3.8 through 3.13 and verify that the selected Python interpreter is the one used by your shell or administration environment.

Do this identically on all nodes. A node with a different Java major version can fail before gossip starts, which looks like a networking problem until you inspect the startup log.

Install Cassandra from the Debian repository

Use the Apache Cassandra Debian repository and its signing key, following the current Cassandra 5.0 installation instructions for the repository entry that matches your operating-system policy. Repository keys and release details change; copy the current values from Apache rather than reusing an old blog post.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
  1. Add the Apache Cassandra repository signing key and repository entry on each Ubuntu node.
  2. Refresh package metadata with sudo apt-get update.
  3. Install Cassandra with sudo apt-get install cassandra.
  4. Confirm that the package created the configuration directory /etc/cassandra and that the service is present.
  5. Stop Cassandra before changing cluster settings. Editing a running node and restarting it piecemeal makes it harder to distinguish a configuration error from a join event.

After installation, locate Cassandra’s system.log. Keep it visible while you make the first configuration change and during every node startup; join failures, address binding errors and schema disagreement are usually explained there before a command-line symptom appears.

Configure identity, discovery and topology

Edit /etc/cassandra/cassandra.yaml while the service is stopped. The following values must be intentional and, where noted, consistent across the cluster.

Setting What to configure Rule
cluster_name One shared name, such as orders-prod Every node joining this cluster must use the same value; use a different name for staging
seeds A comma-separated list of stable seed addresses Use addresses that remain available; seeds help discovery but are not a master or leader set
listen_address The node’s own routable private address Unique per node and reachable by every other Cassandra node
rpc_address and broadcast address The address on which approved clients connect, according to your network design Do not advertise an address that clients cannot route to; verify the actual native-transport setting
storage_port The internode storage port, 7000 by default Allow it only between Cassandra nodes
endpoint_snitch GossipingPropertyFileSnitch Use the same topology-aware snitch on every node

Seeds are discovery points, not a primary node

Put the same comma-separated seed list in the configuration of every node, normally including more than one stable address. A seed does not own the cluster and should not be treated as a single point of control. Losing a seed address can make a newly restarted node slower to discover peers, so choose seed hosts that have reliable addresses and capacity.

listen_address must be reachable

Set each node’s listen_address to its actual private interface address or resolvable hostname. The Apache reference is explicit: “Setting listen_address to 0.0.0.0 is always wrong.” Binding to all interfaces does not solve reachability and can expose internode traffic on an unintended network.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Separate internode and client reachability

listen_address identifies internode communication. The client-facing rpc_address and any broadcast address must instead represent the interface that approved applications can reach. If a node has separate private and client networks, verify both directions and make sure the advertised address is not a loopback or an unroutable container address.

Define datacenter and rack in the properties file

Edit cassandra-rackdc.properties on each node and set its datacenter and rack values, for example dc=dc1 with a rack value that matches the physical or logical failure domain. Keep the spelling and topology model consistent across the cluster. GossipingPropertyFileSnitch reads these values and uses them when placing replicas.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

The production reference identifies this snitch as the normal choice and warns that changing to an incompatible snitch after data has been inserted can cause data loss. Decide the topology before creating application keyspaces.

Open only the network paths Cassandra needs

Firewall policy must distinguish node-to-node traffic from client traffic and from administration. Exact firewall commands depend on your Ubuntu image and network controls; the required paths are what matter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Internode storage: allow TCP port 7000 by default, or the value configured in storage_port, only between Cassandra nodes.
  • Native transport: port 9042 is the common default for CQL clients. Expose it only to approved application and administration networks, and verify the configured value before writing a rule.
  • JMX and operating-system access: restrict these separately. Administrative reachability is not a reason to open Cassandra’s data ports to the public internet.

If traffic crosses an untrusted network, configure server-to-server encryption in server_encryption_options. Configure client-to-node encryption when clients require TLS, and distribute certificates and trust material through your normal secret-management process.

Authentication and authorization are separate controls

The defaults AllowAllAuthenticator and AllowAllAuthorizer do not provide a production access model. Replace them with a deliberate authentication and authorization design before applications write sensitive data. If you enable password authentication or CassandraAuthorizer, increase the system_auth keyspace replication as advised by the Cassandra reference so authorization metadata is not left with an unsuitable failure-domain layout.

Start the nodes in a controlled order

  1. Recheck the first node’s cluster name, seed list, listen address, client address, snitch, datacenter and rack.
  2. Start only that node through the Ubuntu service manager.
  3. Watch system.log until the process has initialized storage and gossip without fatal errors.
  4. Run nodetool status locally. A single node should report itself as an up and normal member once initialization is complete.
  5. Start the second node and wait for its join and streaming activity to settle.
  6. Start the remaining nodes one at a time, checking logs and status after each start.

Do not send normal application traffic to a node that is still joining or leaving. Streaming, bootstrap and topology changes can temporarily consume disk, network and compaction resources.

Validate membership, topology and schema

Read nodetool status correctly

Run nodetool status from several nodes, not just one. The command reports each node’s state, load, host ID and datacenter/rack placement from the local node’s view. Every intended healthy member should eventually show UN: Up and Normal. A node marked joining or leaving is not ready for ordinary traffic, and a node shown as down may be reachable from another machine even though the local gossip view is stale.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Check cluster description and logs

Use nodetool describecluster to inspect cluster identity and schema agreement, then compare the result from multiple nodes. Investigate differing schema versions instead of assuming they will resolve immediately. Correlate command output with system.log for address binding failures, authentication errors, rejected handshakes, failed streaming or repeated gossip state changes.

Confirm the topology labels

The status output should show the expected datacenter and rack for each member. An unexpected label usually means that node’s cassandra-rackdc.properties was not updated, contains a spelling mismatch or was read from a different installation than the one you edited.

Create keyspaces for the failure model

Do not copy a replication factor or consistency level from a different deployment. Create application keyspaces with a topology-aware replication strategy and choose a replication factor that matches the number of failure domains, capacity and availability target you have actually planned.

  • Use a strategy that understands datacenters and racks rather than treating all machines as one undifferentiated list.
  • Set replication separately for each datacenter when you operate more than one.
  • Choose read and write consistency levels with the application’s latency and durability requirements in mind.
  • Test behavior when a node or an entire failure domain is unavailable; a configured factor is not proof that an application can tolerate that event.

Replication factor 3 is common in examples, but Cassandra documentation does not make it a universal requirement. A smaller or larger value can be correct when it matches the topology and workload.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Single-datacenter and multi-datacenter designs

Design Strength Cost or risk Configuration implication
One datacenter, multiple racks Simpler operations and lower network latency Does not isolate a regional or site-wide outage Use rack-aware placement and ensure racks represent genuine failure domains
Multiple datacenters Isolation from a site or region failure Higher cross-site latency, bandwidth consumption and network cost Define each datacenter and rack explicitly; set per-datacenter replication and client consistency intentionally

Use the same snitch family and a coherent topology vocabulary everywhere. Do not label two physically independent sites as the same datacenter if you expect Cassandra to place replicas across them.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Cloud virtual machines versus bare metal

Either platform can host Cassandra when it provides stable private networking, predictable storage and an operational replacement process. Cloud VMs simplify automated replacement and often integrate snapshots with identity and network controls, but noisy-neighbor effects and variable disk latency must be measured for your workload. Bare metal can provide more predictable disk performance and direct hardware ownership, while replacement, capacity expansion and off-host backup become your responsibility. In both cases, test node loss, volume recovery and network isolation before production.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Backups, repair and topology changes are ongoing work

Back up and test restoration

Use Cassandra snapshots and/or incremental backup controls. The operational commands include nodetool snapshot, nodetool enablebackup and nodetool statusbackup. Store backup data outside the failure domain of the source nodes and document retention, encryption and access. A backup is not validated until you restore it in an environment that matches production closely enough to reveal missing permissions, incompatible versions or insufficient capacity.

Schedule repair deliberately

Repair is an operator-controlled task, not a one-time bootstrap step. Incremental repair is the default in the current repair guide, and running nodetool repair -pr on each node in each datacenter avoids duplicate primary-range work. Run occasional full repairs as well: incremental repair does not cover every corruption and operator-error case.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Repair often enough that unrepaired data does not outlive gc_grace_period. The correct interval depends on workload, data-distribution patterns and Cassandra version, so monitor repair completion and set an interval your team can reliably meet.

Changing replication factor

Increasing a keyspace’s replication factor does not immediately copy historical data to the new replicas. Perform a full repair after the increase so existing data streams to the additional replicas. Reducing the factor requires nodetool cleanup to remove data that no longer belongs on a node. Roll these operations through the cluster to limit load and verify completion before proceeding.

Adding nodes or changing topology

Capacity-plan every scale-out and topology change. Check available disk, network headroom and streaming impact, then verify that bootstrap streaming and subsequent repair have completed. A node that appears in gossip is not automatically a fully repaired, capacity-bearing replica.

Troubleshoot common first-cluster failures

nodetool status does not show UN

  • Joining (UJ): wait for bootstrap and streaming; inspect system.log and do not route normal traffic to the node yet.
  • Leaving (UL): a topology removal is in progress; confirm that the operation was intentional and allow streaming to finish.
  • Down (DN): verify that the process is running, the listen address is bound, TCP 7000 is allowed between the nodes, and hostnames resolve to the intended private addresses.
  • Different views on different nodes: remember that status is local. Compare several nodes, then inspect gossip and schema information with nodetool describecluster and the logs.

The node will not join the cluster

Check the shared cluster_name, seed list syntax, unique routable listen_address, matching snitch and datacenter/rack values, Java version, and clock synchronization. A node configured with listen_address: 0.0.0.0 is misconfigured; replace it with the node’s reachable address. Confirm that the node can reach every seed on the internode port and that no security group or host firewall blocks return traffic.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Clients cannot connect

Verify the client-facing address and native transport port, commonly 9042, rather than testing the internode address. Check that the application network is explicitly allowed, TLS settings match the server, and authentication credentials and authorization permissions are valid. Keep client access separate from the private storage network.

Schema disagreement persists

Use nodetool describecluster and logs on multiple nodes. Confirm that all nodes run the same Cassandra version and belong to the same cluster name. Avoid repeatedly restarting healthy nodes without identifying the failing network path or schema operation; restarts can hide the original sequence of events.

Production readiness checklist

  • At least three planned nodes with stable private addresses and synchronized clocks.
  • Identical Cassandra major/minor version and Java 11 or 17 on every node.
  • One deliberate cluster name, stable seeds and unique routable listen addresses.
  • GossipingPropertyFileSnitch with consistent datacenter and rack definitions.
  • TCP 7000 restricted to Cassandra nodes and native transport restricted to approved clients.
  • Server-to-server and, where required, client-to-node TLS configured before sensitive data is written.
  • Authentication and authorization replacing permissive defaults, with suitable system_auth replication.
  • Multiple-node checks showing every intended member as UN and schema agreement confirmed.
  • Documented snapshot/incremental-backup retention and a tested restoration procedure.
  • A repair schedule that fits inside gc_grace_period, plus a plan for full repairs.
  • Runbooks for replication-factor changes, cleanup, node replacement, bootstrap streaming and rollback.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.