Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › database cluster

How to Create a Riak Cluster on Ubuntu VPS Servers

By Freedom251 Team · · 10 min read

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

To create a Riak cluster on Ubuntu VPS servers, give every node a unique, resolvable name, bind Riak to a reachable private interface, install the same Riak build and ring size everywhere, start one node, and add the others with riak-admin cluster join. A join is only staged until you inspect riak-admin cluster plan and run riak-admin cluster commit. Do not call the cluster ready until membership is correct and ownership transfers have finished.

The procedure below applies to Riak KV installations managed with either the newer riak.conf configuration or the older vm.args/app.config layout. Riak’s published Ubuntu support list is historical, so confirm that the exact Riak package or source build you intend to use is compatible with your 2026 Ubuntu image before putting data into production.

As an Amazon Associate I earn from qualifying purchases.

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

Plan the cluster before creating VPS instances

A Riak cluster is a group of independently running Riak nodes that share a ring of partitions. Each node must be able to resolve and reach the other nodes, and each participating node must use the same initial ring size. A two-node test cluster can be useful for learning, but production fault tolerance normally requires a topology designed for the failure domain you need to survive.

Check Ubuntu and Riak compatibility

The Riak documentation landing page lists Ubuntu 12.04 (Precise), 14.04 (Trusty), and 16.04 (Xenial) among supported operating systems. That list does not identify a package repository or build for a current 2026 Ubuntu release. Before provisioning production servers, verify the Riak version, Erlang/runtime requirements, installation method, and Ubuntu release as a single tested combination. Do not assume that an old binary package will install or run correctly on a newer image.

#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.

Choose a network identity

Decide whether cluster traffic will use provider-private addresses or private DNS names. Riak node names have the form riak@host; the host portion must resolve from every node. Riak’s guidance recommends fully qualified domain names (FQDNs) instead of raw IP addresses because names are easier to preserve during address changes.

For example, plan names such as [email protected], [email protected], and [email protected]. Create the DNS records, or equivalent entries in the private resolver, before starting Riak. Test both forward resolution and reachability from each VPS.

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

Prepare firewalls and security groups

Allow only the traffic your deployment needs. Provider security groups and the Ubuntu host firewall should permit node-to-node communication on the configured Riak ports, plus client access from the application networks. The documented defaults are Protocol Buffers on port 8087 and HTTP on port 8098; verify the actual listener values in your configuration instead of treating those defaults as guaranteed.

  • Permit the Riak listener ports between cluster members and approved clients.
  • Keep administrative access such as SSH restricted to your management network.
  • Prefer private interfaces for inter-node traffic; avoid exposing database listeners to the public internet.
  • Record which private address belongs to each hostname so an address change can be handled deliberately.

Install the same Riak build on every server

Use one Riak version and a compatible configuration on all nodes that will share a ring. Mixing versions or incompatible runtime packages can turn a simple join into an operational incident. Binary packages normally provide /usr/sbin/riak and /usr/sbin/riak-admin. Source installations generally use the scripts under the installation’s bin directory; use the paths supplied by that build consistently.

Install Riak on every VPS, but do not join the nodes yet. First make the identity, listener, and ring-size settings consistent.

Assign a unique node name

In the newer configuration system, set a name in riak.conf:

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.
nodename = [email protected]

On an older installation, the equivalent setting in vm.args is:

-name [email protected]

Use a different FQDN for each server. The second node would use [email protected], and so on. A duplicate name can cause nodes to identify themselves as the same member, while an unresolvable name prevents the Erlang distribution layer from forming connections.

Match the ring size

Set the ring size identically on every node that will participate. In newer configuration this is the ring_size setting; older installations call it ring_creation_size. The value describes the number of partitions in the initial ring, not the number of VPS instances. Nodes created with different initial ring sizes cannot participate in one cluster. Choose the value before the first node creates its ring and copy it unchanged to all other nodes.

Configuration generation Node name setting Ring-size setting Common command locations
Newer Riak configuration nodename = [email protected] in riak.conf ring_size /usr/sbin/riak and /usr/sbin/riak-admin for package installs
Older configuration -name [email protected] in vm.args ring_creation_size Package scripts or the installation’s bin directory for source builds

Bind Riak to an interface other nodes can reach

Riak’s documented HTTP and Protocol Buffers listeners default to 127.0.0.1. That loopback address accepts requests only from the same VPS, so a second node cannot contact the first until the listeners are changed.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Bind each listener to that server’s private address, for example:

listener.http.internal = 10.0.0.11:8098
listener.protobuf.internal = 10.0.0.11:8087

Replace 10.0.0.11 with the address assigned to the particular VPS. The configuration examples also support 0.0.0.0, but a wildcard exposes the listener on every interface; use it only with restrictive firewall rules and a clear reason. A private interface is safer when clients do not require public access.

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.

Apply the corresponding address on every node and make sure the address is stable. If your provider supplies separate public and private interfaces, do not accidentally advertise the public address as the cluster identity when private DNS is intended.

Start and validate the first node

  1. Stop any existing Riak process so that it cannot keep using old settings:
    riak stop
  2. Confirm the node name, ring size, and listener addresses in the active configuration.
  3. Start Riak:
    riak start
  4. From the same VPS, check that the service responds using the configured local endpoint. From a second VPS, test name resolution and a TCP connection to the configured listener ports before attempting a join.

If this server was previously started as a default single-node test instance, changing its name is not always enough. The old ring files may still describe the previous identity. The documented single-node recovery path can require stopping Riak, moving or removing the old ring files, and starting a fresh ring before joining other nodes. Treat ring-file removal as destructive: preserve backups and do not delete a production ring merely to solve a naming error. For an established cluster, use the replacement procedure described later instead.

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

Join the second and subsequent VPS nodes

Configure and start the second VPS with its own unique name, matching ring size, and reachable listeners. Run the join from the node that is being added, targeting any running member of the existing cluster:

riak-admin cluster join [email protected]

A successful join stages a proposed membership change; it does not immediately alter the ring. Always inspect and commit the plan:

  1. Review the staged change:
    riak-admin cluster plan
  2. If the proposed ownership changes and member list are what you expect, commit them:
    riak-admin cluster commit
  3. Repeat the join, plan, and commit sequence for each additional VPS, such as [email protected].

The older riak-admin join command is deprecated in favor of riak-admin cluster join. Use the cluster subcommand on current installations so that the command matches the documented workflow.

What the plan means

The plan shows pending membership and partition-ownership changes. Read it before committing, especially when adding more than one node at a time. The algorithm that distributes partitions during membership changes is non-deterministic, so two valid plans can distribute ownership differently. If a plan is unexpectedly unbalanced, clear the pending change and create a new plan rather than assuming the first proposal is optimal.

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

Verify membership and wait for handoff

After committing, verify both the member list and the transfer state:

riak-admin status | grep ring_members
riak-admin member-status
riak-admin transfers

The status output should list the expected node names in ring_members. member-status provides each member’s participation state, while transfers shows ownership handoff work. A node can appear in the membership list before it has received all of its partitions, so do not treat a successful commit as the end of the operation.

Leave the cluster under observation until transfers and handoff activity have completed and the member states are healthy. During this period, watch for repeated failures, unreachable names, or a transfer queue that does not make progress. Schedule heavy data movement for a period when the application can tolerate extra disk and network load.

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.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the common join failures

The node cannot resolve the target name

Check the FQDN from both servers with the resolver tools available on your Ubuntu image. Confirm that the returned address is the intended private address, that reverse-DNS or provider hostname rules are not rewriting it unexpectedly, and that every node uses the same spelling after the @. Correct DNS or local host mappings before retrying the join.

The nodes resolve names but cannot connect

Inspect the active listener configuration and firewall rules. A listener bound to 127.0.0.1 is invisible to remote nodes even when DNS is correct. Confirm that the provider security group and host firewall allow the configured ports on the private network, then test connectivity from the joining VPS to the existing member.

The ring size does not match

Stop the node with the incompatible setting and correct ring_size or ring_creation_size to the value used by the existing cluster. A node that has already created a ring with the wrong size generally needs its ring state rebuilt before it can join; preserve any required data and follow the appropriate replacement process rather than deleting files casually.

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.

The join command succeeds but membership does not change

Run riak-admin cluster plan. The command may have staged a request that is waiting for a commit. If the plan is correct, run riak-admin cluster commit; then check member-status and transfers. If no plan appears, inspect the command output and verify that the target node was running and reachable when the join was issued.

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

The plan is unexpectedly uneven

Riak’s partition-distribution algorithm is non-deterministic. An uneven first proposal is not proof that the cluster cannot balance. Clear the pending plan, generate a new plan, and inspect the replacement before committing. Continue to verify actual ownership and transfers after the commit.

A node still identifies itself by an old name

Stop Riak and verify which configuration file the running installation actually reads. A package using riak.conf will not use a name copied only into an unused legacy file, and the reverse can also happen on an older installation. If the node has already created ring state under the old identity, do not overwrite production files blindly; use the rolling replacement workflow below.

Decommission a node safely

Planned departure

For a running node that you intend to retire, stage its departure from another healthy member:

riak-admin cluster leave [email protected]
riak-admin cluster plan
riak-admin cluster commit

After committing, monitor riak-admin member-status and riak-admin transfers until ownership has moved and the departing node is no longer required. Only then shut down and destroy the VPS.

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

Failed or unreachable node

If a member is down and cannot return, issue the node-name form of cluster leave from another healthy member, then review and commit the resulting plan. Confirm that the remaining cluster has taken ownership before removing the failed server’s disks or DNS records.

Replace a node after an address or hostname change

A changed address or node name is a membership change, not merely a network edit. Use the documented rolling sequence:

  1. Stop the affected node, or mark it down according to your maintenance procedure.
  2. Update its nodename or legacy -name value and its listener addresses.
  3. Move the old ring directory aside so the restarted process does not reuse ring state tied to the old identity. Preserve the directory until the replacement is confirmed.
  4. Start the node with its new identity.
  5. Join it to a healthy member with riak-admin cluster join new-name.
  6. Stage the identity replacement:
    riak-admin cluster force-replace old-name new-name
  7. Run riak-admin cluster plan, inspect the proposed ownership, and run riak-admin cluster commit only when it is correct.
  8. Check riak-admin member-status and monitor riak-admin transfers until handoff completes.

Do not use a force-replace operation as a shortcut for a normal planned retirement. It is intended to reconcile an old member identity with its replacement after the documented stop, reconfiguration, and rejoin steps.

Choose sensible exposure and topology

Decision Safer default When another choice may be justified
Listener exposure Bind to a private address and firewall it to cluster and application networks. Use a wildcard only when multiple interfaces genuinely need the listener and firewall policy is explicit.
Node identity Stable FQDNs that resolve through private DNS. IP-based identities can work in a tightly controlled network, but address changes are more disruptive.
Installation method The same tested binary package on every VPS. Build from source when the required Ubuntu release has no suitable package, while keeping the resulting build identical across nodes.
Node removal Planned cluster leave, followed by plan and commit. Use the node-name leave form for an unrecoverable member, and force-replace only for an identity/address replacement.
Geography Keep members on a low-latency private network for a single-region cluster. Multi-datacenter replication requires a separate architecture; the basic join procedure does not by itself provide cross-region replication.

Production-ready checklist

  • Every VPS runs the same Riak build and compatible runtime.
  • Every node has a unique FQDN-based name that resolves from all members.
  • ring_size or ring_creation_size is identical everywhere.
  • HTTP and Protocol Buffers listeners are bound to reachable, intentionally exposed interfaces.
  • Provider and host firewalls allow only required cluster and client paths.
  • The first node was started and validated before any join was staged.
  • Each additional node used riak-admin cluster join, followed by an inspected plan and commit.
  • ring_members, member-status, and transfers show the expected topology.
  • Ownership handoff has completed before the cluster is declared settled.
  • Node retirement and identity changes follow their respective leave or force-replace workflows, with ring state preserved until recovery is confirmed.

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.

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

database clusterDevOpsLinuxRiakUbuntuVPS

Leave a Reply

Your email address will not be published. Required fields are marked *

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

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.