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 create a Riak cluster on Ubuntu VPS servers, give every node a unique, resolvable name, bind Riak to a reachable non-loopback interface, start one correctly configured 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. Keep the Riak build and ring-size setting identical across all members, then verify membership and wait for transfers to finish.

The procedure below uses private VPS networking where possible and treats Ubuntu compatibility as a release-specific question. Riak documentation lists Ubuntu 12.04 (Precise), 14.04 (Trusty), and 16.04 (Xenial) in its historical supported-OS list. That list does not establish a package source or support for a current 2026 Ubuntu release, so verify the exact Riak build against the Ubuntu image you intend to deploy before using production data.

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

What you need before creating the cluster

A Riak cluster is a group of independently running Riak nodes that share ownership of a distributed ring. The nodes must be able to resolve one another’s names and establish TCP connections. A default Riak installation listens on loopback, so two VPS instances cannot form a cluster until the listeners are moved to a private address or another intentionally reachable interface.

Choose a supported, repeatable platform

Use the same Ubuntu release, Riak version, package or source build, Erlang compatibility level, and configuration style on every node. The historical Riak operating-system list names Ubuntu 12.04, 14.04, and 16.04; it does not confirm that an unlisted modern Ubuntu release has a compatible package. Record the exact Riak build and test it on a non-production VPS before provisioning the full cluster.

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

Prepare at least two VPS nodes

  • Create two or more Ubuntu VPS instances on a network with reliable private connectivity.
  • Assign stable hostnames such as riak1.example.com and riak2.example.com. Fully qualified domain names are preferable to changing IP addresses for Riak node identity.
  • Ensure forward name resolution works from every node. If your private DNS does not provide it, create equivalent static host entries consistently on all servers.
  • Decide whether clients will use private addresses, public addresses, or a separate proxy. Cluster traffic should normally remain on a private network.
  • Allow only the required intra-cluster and client paths in the VPS security group and the Ubuntu host firewall.

The common Riak examples use Protocol Buffers on TCP port 8087 and HTTP on TCP port 8098. Treat those as configuration examples, not immutable requirements: inspect your deployed riak.conf or older configuration files and open exactly the ports your listeners use.

Install the same Riak build on every VPS

Install one tested Riak build on every server. Binary packages normally provide /usr/sbin/riak and /usr/sbin/riak-admin; source installations provide equivalent scripts under the installation’s bin directory. Do not mix package and source layouts casually, because service paths and configuration locations can differ.

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.

Modern Riak installations use riak.conf. Older installations may use vm.args and app.config. Before editing, identify which files your build actually reads and keep a copy of the original configuration. Apply the same ring-size value everywhere. In the modern file this is ring_size; older releases call it ring_creation_size. Nodes with different initial ring sizes cannot participate in the same cluster.

Give every node a unique name

Set a distinct node name on each VPS. In modern configuration:

nodename = riak@riak1.example.com

On a second server, use its own FQDN:

nodename = riak@riak2.example.com

Older configurations express the same setting in vm.args:

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 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.
-name riak@riak1.example.com

Never copy the first server’s node name unchanged. Riak uses the name after @ to identify a member; duplicate names cause ambiguous membership and failed joins. Resolve each name from every VPS before starting Riak.

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

Keep ring settings and cluster options aligned

Copy the intended ring-size value to every prospective member before any node joins. Also keep cookie, TLS or authentication settings, listener definitions, and other cluster-critical options compatible. A join cannot repair a mismatched ring definition; correct the configuration and restart the affected node first.

Bind Riak to a reachable interface

Riak’s documented default listeners bind to 127.0.0.1. That address accepts connections only from the local VPS, which makes a node appear healthy locally while remaining invisible to its peers. Change the HTTP and Protocol Buffers listeners to the node’s private address or to a deliberately scoped wildcard.

A private-address example for the first node is:

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

Use the corresponding private address on each server. The official examples also show 0.0.0.0; that wildcard exposes the listener on every interface, so use it only when firewall rules and network design make that exposure intentional. A private interface is safer when clients do not need public access.

Firewall the paths deliberately

  • Permit node-to-node traffic on the ports used by your Riak listeners and any additional cluster-management traffic required by your build.
  • Permit client access to HTTP or Protocol Buffers only from approved application networks.
  • Deny unsolicited Internet access to administration interfaces.
  • Apply the same policy at the VPS provider’s security-group layer and in the Ubuntu host firewall.

After changing listeners, test name resolution and TCP reachability from one node to another using the network tools already approved for your environment. A successful local HTTP request does not prove that a peer can connect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

Start and validate the first Riak node

Configure the first VPS completely before attempting any join. A single node can run alone, but it must already have its final name, ring size, and listener addresses.

  1. Stop Riak if it is running: riak stop.
  2. Edit the active configuration so the node name is unique and the listeners are not bound only to loopback.
  3. Confirm the ring-size setting that all future nodes will use.
  4. Start the node: riak start.
  5. Check local status with riak-admin status and confirm that the process reports the intended node name and listeners.

If this VPS was previously started as a default single-node test installation, changing only the name may leave old ring files behind. The documented single-node recovery path can require stopping Riak, moving or removing the old ring data, and starting a clean node before it joins a cluster. Preserve backups and use the replacement procedure instead when the ring contains data you must retain.

Join a second VPS and commit the plan

Configure and start the second server with its own name and private listener addresses. Run the join from the new node, targeting any running member of the existing cluster:

riak-admin cluster join riak@riak1.example.com

The command stages a membership change; it does not make the second node a committed member by itself. Always inspect and commit the plan:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
riak-admin cluster plan
riak-admin cluster commit

Review the plan before committing. Confirm that the proposed additions and partition movements are the ones you expect. Repeat the same join, plan, and commit sequence for each additional VPS, targeting a currently reachable member.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • 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

The older riak-admin join form is deprecated in favor of riak-admin cluster join. Use the namespaced command on current installations so that scripts and runbooks match the supported interface.

What a successful join means

A successful join command means Riak accepted a request to stage membership. The cluster is not settled until the plan is committed and ownership transfers have completed. If the join reports a name or connection error, stop and fix DNS, listener binding, firewall rules, or configuration rather than repeatedly issuing the command.

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

Verify membership and wait for handoff

After committing, verify both membership and data-transfer activity from a healthy member:

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

The status output should show the expected node names in ring_members. member-status reports membership state, while transfers shows ownership handoff work. Keep the cluster under observation until transfers are complete; a committed topology can still be moving partitions and is not yet operationally settled.

When the plan looks uneven

Riak’s partition-distribution algorithm is non-deterministic. Two valid plans can propose different ownership arrangements, and the first plan is not guaranteed to be the most balanced. If the proposed distribution is unsuitable, clear the staged change, generate a new plan, and review it again instead of committing blindly. Follow your build’s documented command sequence for clearing or replanning so that an already committed change is not accidentally discarded.

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

Troubleshoot nodes that cannot see one another

Symptom Likely cause What to check
Join fails with an unreachable host The target name does not resolve, the listener is on loopback, or a firewall blocks the path. Resolve the FQDN from the joining VPS, verify the target’s private address, inspect HTTP and Protocol Buffers listener lines, and check both provider and host firewall rules.
Each node works locally but peers never connect Listeners still bind to 127.0.0.1. Replace loopback bindings with the intended private address or a controlled wildcard, restart Riak, and retest from another VPS.
Two servers appear to have the same member The copied configuration retained the first node’s name. Assign a unique FQDN-based name to every server. Do not attempt to solve duplicate identity with another join command.
The plan refuses a node because of ring settings ring_size or older ring_creation_size differs. Match the value on every node, restart the corrected node, and retry the join.
Membership is committed but the cluster is still busy Ownership handoff is in progress. Monitor riak-admin transfers and wait for transfer work to finish before making another topology change.
A previously renamed single node will not join cleanly Old ring files contain the former identity. For disposable test data, rebuild the ring as documented; for retained data, use the force-replace workflow rather than deleting ring state.

Add a third or later node

For every new VPS, repeat the same order: install the identical build, assign a unique resolvable name, match the ring-size setting, bind listeners to a reachable interface, start the node, then stage and commit its join.

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.
  1. Prepare and validate DNS and private connectivity.
  2. Apply the node-specific name and address settings.
  3. Start Riak on the new server.
  4. Run riak-admin cluster join riak@existing-member.example.com.
  5. Run riak-admin cluster plan, inspect the proposed ownership, and run riak-admin cluster commit.
  6. Check member-status and transfers until the new member is active and handoff is complete.

Make one membership change at a time when possible. This keeps the plan understandable and makes it easier to identify which change caused a connectivity or transfer problem.

Remove a node safely

Planned decommission

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

riak-admin cluster leave riak@riak2.example.com
riak-admin cluster plan
riak-admin cluster commit

Review the plan before committing, then monitor member-status and transfers. Do not shut down the node first if the goal is a normal departure; let Riak redistribute ownership through the planned change.

Failed or unreachable node

If a member has failed and cannot return, issue the node-name form of cluster leave from a healthy member, review the resulting plan, and commit it. Treat this as an emergency topology change: confirm which node is genuinely unavailable and monitor the resulting transfers before adding a replacement.

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

Change a node’s address or hostname

A hostname or address change is a membership replacement, not a simple edit. Use the documented rolling sequence:

  1. Stop the node or mark it down according to your operational procedure.
  2. Change its nodename and listener addresses to the new identity.
  3. Move the old ring directory aside so the restarted process does not reuse the obsolete identity accidentally.
  4. Start the node with its new configuration.
  5. Join the new identity back to a running cluster member.
  6. Stage replacement with riak-admin cluster force-replace old-name new-name.
  7. Run riak-admin cluster plan, verify the replacement, and run riak-admin cluster commit.
  8. Check riak-admin member-status and monitor riak-admin transfers until ownership has moved.

Use the exact old and new Riak node names, including the riak@ prefix. Keep the old ring data available until the replacement is verified, and do not perform simultaneous identity changes on multiple members unless your recovery plan explicitly supports it.

Deployment choices that affect reliability

Decision Preferred default Trade-off
Private versus public listeners Private address with restrictive firewall rules Reduces exposure; requires working private networking and DNS.
Hostname versus IP node identity Stable FQDN Survives address changes more cleanly; depends on dependable name resolution.
Binary package versus source installation One tested method used everywhere Packages simplify paths; source builds require consistent scripts, dependencies, and upgrades.
Planned decommission versus emergency removal cluster leave followed by plan and commit Planned departure is orderly; failed-node removal carries greater recovery risk.
Single-region versus multi-datacenter layout Keep the initial cluster within one low-latency private network Multiple regions add latency, routing, and replication design concerns not solved by a basic join.

Production readiness checklist

  • Every VPS runs the same verified Riak build and compatible configuration.
  • Ubuntu and Riak compatibility has been checked for the exact release and package or source artifact.
  • Each node has a unique FQDN-based name that resolves from every member.
  • HTTP and Protocol Buffers listeners are not restricted to 127.0.0.1 unless the node is intentionally standalone.
  • Private networking and firewall rules allow only required peer and client paths.
  • The ring-size setting is identical on all participating nodes.
  • Each join was followed by cluster plan and an explicit cluster commit.
  • ring_members and member-status show the intended topology.
  • riak-admin transfers is clear or shows only expected work before declaring the cluster stable.
  • Runbooks distinguish planned leave, failed-node removal, and force-replace identity changes.

Operational result

A correctly formed cluster is not defined merely by two Riak processes being online. It has unique, resolvable identities; reachable listeners; matching ring settings; a committed membership plan; and completed ownership handoff. Build the first node carefully, join additional nodes one at a time, inspect every plan, and treat names, addresses, and ring files as membership data rather than casual service settings.

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.