How To Install ArangoDB on RHEL and CentOS
If you’re a sysadmin or a developer who wants to run a multi‑model database without the overhead of an external service, installing ArangoDB directly on your RHEL or CentOS host is the way to go. This article walks through the steps that actually work – no “just try this” fluff.
Opening
You’ll learn how to add the official ArangoDB repository, install the packages with YUM (or DNF), tweak a few system settings, and get the service running on RHEL 8 or CentOS 7/8. By the end you’ll have a fully‑functional database ready for your next project.
Prerequisites
- A clean RHEL 8 / CentOS 7 or 8 machine (or a VM) with internet access.
- Root or sudo privileges.
- At least 2 GB of RAM – ArangoDB likes to chew a little memory, especially if you’re using the default storage engine.
I’ve seen this happen after a bad driver update: an unpatched kernel leaves /dev/mapper in a weird state and YUM refuses to install anything that uses systemd‑unit. It’s rare, but make sure your system is fully patched before starting.
Set up the Repository
ArangoDB provides signed RPM packages. Add their repo file so you can pull the latest stable release.
# For RHEL 8 / CentOS 8 sudo rpm -Uvh https://repo.arangodb.com/3.11/rhel/8/x86_64/arangodb-release-3.11.rpm # For CentOS 7 (or older RHEL) sudo yum install -y https://repo.arangodb.com/3.11/el/7/x86_64/arangodb-release-3.11.rpm
Why this step matters: without the signed repo, you’ll be downloading unverified packages that could break your system or expose you to malicious code.
Install ArangoDB
Once the repo is in place, a single command pulls everything you need:
sudo dnf install arangodb3-server arangodb3-client
Or on CentOS 7:
sudo yum install arangodb3-server arangodb3-client
The server package contains the daemon and default config; the client gives you arangosh and command‑line tools. If you only want to test, you can skip the client.
Configure System Settings
ArangoDB’s default installation will create a systemd unit file named arangodb3.service. Before starting it for the first time, tweak the following:
1. SELinux – If enforcing, you’ll need to allow ArangoDB’s ports and data directories.
sudo setsebool -P arangodb3_enable 1
2. Firewall – Open the default HTTP (8529) and AQL port (8530).
sudo firewall-cmd --add-port=8529/tcp --permanent sudo firewall-cmd --add-port=8530/tcp --permanent sudo firewall-cmd --reload
3. Data directory – By default it lives in /var/lib/arangodb3. If you’re on a system with limited space, change Directory under [database] in /etc/arangodb3/arangod.conf.
Start the Service and Verify
sudo systemctl enable --now arangodb3
Check that it’s up:
curl http://localhost:8529/_api/version
You should see JSON with ArangoDB and its version number. The quick test proves two things: the daemon is listening, and your firewall rules are correct.
One of my colleagues tried to hit the same endpoint from a remote host before adding 8529 to the firewall and got an “Unable to connect” error that wasn’t obvious until we pinged systemctl status arangodb3. Lesson learned – never assume the default port is open.
Optional: Create the Default Superuser
ArangoDB starts with no authentication. If you plan to expose it beyond localhost, create a root user:
arangosh --server.endpoint tcp://127.0.0.1:8529 -e "db._createUser('root', 'StrongPassword123!');"
Now you can log in with root/the password you set and enable authentication via the config file.
Wrap‑up
You now have a running ArangoDB instance on RHEL or CentOS, ready for development or production use. If you hit snags, check that your YUM repo is correct, SELinux isn’t blocking ports, and that you’re using the proper systemd commands.