NimbusDB on Linux — Installation Guide
Note on product name
- This guide assumes you have access to a Linux distribution of a database product named “NimbusDB.” If “NimbusDB” refers to a rebranded or legacy name (for example, the product historically known as NuoDB), confirm the exact product and version so that package names, services, and ports match the vendor’s documentation. Replace placeholders with values from your NimbusDB distribution.
- Scope and audience
- Purpose: Install and initialize NimbusDB on a Linux server.
- Audience: System administrators and DevOps engineers with root or sudo privileges on the target host(s).
- Deliverables: Installed packages/binaries, configured service, initialized data directory, and verified service startup.
- Supported platforms and prerequisites
- Operating systems: Use Linux distributions explicitly supported by your NimbusDB version (for example, specific RHEL, Rocky/Alma, SUSE, Debian, or Ubuntu releases). Verify kernel and glibc requirements in vendor materials.
- Access and privileges: Root or passwordless sudo.
- Time synchronization: Enable and active NTP/chrony to ensure consistent cluster timing.
- Example: sudo systemctl enable --now chronyd
- Networking and DNS:
- Stable hostname and forward/reverse DNS resolution.
- Required ports open between nodes (application, admin, replication). Use vendor port list. Plan firewall and SELinux rules accordingly.
- System resources:
- Disk: Dedicated data volume with adequate capacity and IOPS; separate volumes for data and logs are recommended.
- Memory/CPU: Meet or exceed vendor minimums for the intended workload.
- Security requirements:
- TLS materials (CA, server cert, key) if enabling encrypted traffic.
- OS security policy alignment (SELinux/AppArmor states and rules).
- Obtain installation media and verify integrity
- Acquire NimbusDB packages from the vendor repository or a trusted internal artifact repository.
- Verify checksums:
- Example: sha256sum nimbusdb-.x86_64.rpm and compare to vendor-provided SHA256.
- Verify signatures (if provided):
- Import vendor GPG key: sudo rpm --import (RPM) or gpg --import (DEB/tarball).
- Verify: rpm --checksig nimbusdb-.x86_64.rpm or dpkg-sig --verify nimbusdb__amd64.deb or gpg --verify nimbusdb-.tar.gz.sig nimbusdb-.tar.gz
- Create the NimbusDB system account and directories
- Create a dedicated system user and group (if packages do not create them automatically):
- sudo groupadd --system nimbusdb
- sudo useradd --system --no-create-home --gid nimbusdb --home /var/lib/nimbusdb --shell /usr/sbin/nologin nimbusdb
- Create standard directories (adjust paths to your standards or package defaults):
- sudo mkdir -p /var/lib/nimbusdb
- sudo mkdir -p /var/log/nimbusdb
- sudo mkdir -p /etc/nimbusdb
- Set ownership and permissions:
- sudo chown -R nimbusdb:nimbusdb /var/lib/nimbusdb /var/log/nimbusdb /etc/nimbusdb
- sudo chmod 750 /var/lib/nimbusdb /var/log/nimbusdb
- sudo chmod 750 /etc/nimbusdb
- Install NimbusDB
Choose one method depending on the package format you have. If the vendor provides additional prerequisite packages or repositories, configure those first.
5.1 RPM-based distributions (RHEL, Rocky, Alma, SUSE)
- Install from local file:
- sudo dnf install ./nimbusdb-.x86_64.rpm
- If using yum: sudo yum localinstall ./nimbusdb-.x86_64.rpm
- Or configure the vendor repository and install by name:
- sudo dnf install nimbusdb
- Validate installation:
- rpm -qi nimbusdb
- which nimbusdb or ls -l /usr/bin/nimbusdb (adjust to actual binary name installed)
5.2 DEB-based distributions (Debian, Ubuntu)
- Install from local file:
- sudo apt update
- sudo apt install ./nimbusdb__amd64.deb
- Or configure the vendor apt repository and install by name:
- sudo apt update && sudo apt install nimbusdb
- Validate installation:
- dpkg -l | grep nimbusdb
- which nimbusdb
5.3 Tarball (generic)
- Extract to /opt and create a stable symlink:
- sudo tar -xzf nimbusdb--linux-x86_64.tar.gz -C /opt
- sudo ln -sfn /opt/nimbusdb- /opt/nimbusdb
- Set owner:
- sudo chown -R nimbusdb:nimbusdb /opt/nimbusdb /opt/nimbusdb-
- Add to PATH for all users or the service account:
- echo 'export PATH=/opt/nimbusdb/bin:$PATH' | sudo tee /etc/profile.d/nimbusdb.sh
- Configure NimbusDB
Configuration file location and syntax depend on the distribution. If the package installed a default configuration file, use it as a base. Otherwise, create one.
6.1 Configuration file
- Create or edit /etc/nimbusdb/nimbusdb.conf (adjust path if different).
- Define at minimum:
- data_dir=/var/lib/nimbusdb
- log_dir=/var/log/nimbusdb
- listen_address=
- port=
- admin_port= (if applicable)
- node_id=
- cluster_name=
- seed_nodes=comma-separated-host:port (if joining an existing cluster)
- authentication=<on|off> (per security policy)
- tls.enable=<true|false>
- tls.ca_file=/etc/nimbusdb/tls/ca.crt
- tls.cert_file=/etc/nimbusdb/tls/server.crt
- tls.key_file=/etc/nimbusdb/tls/server.key
- logging.level=<INFO|WARN|ERROR>
- Ensure the NimbusDB user can read configuration and keys:
- sudo chown -R nimbusdb:nimbusdb /etc/nimbusdb
- sudo chmod 640 /etc/nimbusdb/nimbusdb.conf
- sudo chmod 640 /etc/nimbusdb/tls/*
6.2 System resource limits (optional but common for databases)
- Create /etc/security/limits.d/nimbusdb.conf:
- nimbusdb soft nofile 65536
- nimbusdb hard nofile 65536
- nimbusdb soft nproc 16384
- nimbusdb hard nproc 16384
- Reload limits upon next login or ensure PAM limits are enabled.
6.3 Kernel parameters (apply only if vendor specifies them)
- If required, place parameters in /etc/sysctl.d/99-nimbusdb.conf, then apply:
- Service management
7.1 If installed via packages with systemd units
- Discover the service name (examples): systemctl list-unit-files | grep -i nimbusdb
- Enable and start:
- sudo systemctl enable --now nimbusdb
- Check status and logs:
- systemctl status nimbusdb
- journalctl -u nimbusdb -e
7.2 If installed via tarball (create a systemd unit)
- Create /etc/systemd/system/nimbusdb.service:
- [Unit]
- Description=NimbusDB Server
- After=network-online.target
- Wants=network-online.target
- [Service]
- User=nimbusdb
- Group=nimbusdb
- EnvironmentFile=-/etc/nimbusdb/nimbusdb.env
- ExecStart=/opt/nimbusdb/bin/nimbusdb --config /etc/nimbusdb/nimbusdb.conf
- Restart=on-failure
- RestartSec=5s
- LimitNOFILE=65536
- [Install]
- WantedBy=multi-user.target
- Reload and start:
- sudo systemctl daemon-reload
- sudo systemctl enable --now nimbusdb
- Check status and logs:
- systemctl status nimbusdb
- journalctl -u nimbusdb -e
- Firewall, SELinux/AppArmor
8.1 Firewall
- Identify required ports from the NimbusDB documentation (for example, and ).
- firewalld (RHEL derivatives):
- sudo firewall-cmd --permanent --add-port=/tcp
- sudo firewall-cmd --permanent --add-port=/tcp
- sudo firewall-cmd --reload
- ufw (Ubuntu/Debian):
- sudo ufw allow /tcp
- sudo ufw allow /tcp
- sudo ufw reload
8.2 SELinux (RHEL derivatives)
- If SELinux is enforcing and the NimbusDB port is nonstandard:
- sudo semanage port -a -t http_port_t -p tcp (replace type with a suitable one per vendor guidance)
- To allow the NimbusDB binary to bind to ports or access data directories, define appropriate SELinux policies or set correct file contexts using semanage fcontext and restorecon.
- Only use setenforce 0 temporarily for diagnosis; implement proper policies for production.
8.3 AppArmor (Ubuntu/SUSE)
- If AppArmor profiles restrict NimbusDB, add an allowlist profile or place NimbusDB in complain mode during initial setup, then refine.
- Initialize and verify
- Initialize data directory if required by the product:
- Example: sudo -u nimbusdb /opt/nimbusdb/bin/nimbusdb --init --config /etc/nimbusdb/nimbusdb.conf
- Start or restart the service:
- sudo systemctl restart nimbusdb
- Verify the process is listening:
- Verify logs indicate successful startup:
- sudo tail -n 100 /var/log/nimbusdb/.log
- or journalctl -u nimbusdb -e
- Optional: Use the NimbusDB client or admin CLI to run a health or status command (replace with the actual tool name and parameters).
- Example: nimbusdb-cli --host --port status
- Cluster join (if applicable)
- On additional nodes, repeat installation and configuration.
- Ensure:
- node_id is unique per node.
- seed_nodes includes reachable seed/admin nodes.
- Firewalls allow inter-node traffic on all required ports.
- Start service on each node and confirm cluster membership via the admin CLI or dashboard per vendor instructions.
- Backup of configuration
- Preserve a copy of:
- /etc/nimbusdb
- Unit files: /etc/systemd/system/nimbusdb.service (if custom)
- Version info and installed package list
- Store TLS materials securely per organizational policy.
- Uninstall (if needed)
- Stop the service:
- sudo systemctl stop nimbusdb
- Remove packages:
- RPM: sudo dnf remove nimbusdb
- DEB: sudo apt remove nimbusdb
- Remove systemd unit (tarball installation only):
- sudo rm -f /etc/systemd/system/nimbusdb.service
- sudo systemctl daemon-reload
- Preserve or remove data/logs as required:
- sudo tar -czf /var/backups/nimbusdb-data-.tar.gz /var/lib/nimbusdb
- sudo rm -rf /var/lib/nimbusdb /var/log/nimbusdb /etc/nimbusdb (only if you intend to fully purge)
- Troubleshooting checklist
- Service fails to start:
- Check syntax and permissions of /etc/nimbusdb/nimbusdb.conf.
- Confirm ownership of data and log directories (nimbusdb:nimbusdb).
- Review journalctl -u nimbusdb for error messages.
- Port binding errors:
- Confirm the port is free: ss -lntp
- Adjust firewall and SELinux/AppArmor rules.
- Cluster join issues:
- Verify seed_nodes reachability (ping, nc, or curl if HTTP-based).
- Check time sync and DNS resolution.
- Permissions and ulimit:
- Ensure LimitNOFILE and OS limits are aligned for the nimbusdb user.
- TLS:
- Check certificate/key paths and permissions; validate certificate CN/SANs match the host.
Appendix A: Information to collect from the vendor/product package before installation
- Exact package names and versions (server, client, tools).
- Default installation paths and configuration file locations.
- Default service name (systemd unit) and binary name.
- Required network ports and protocols (client, admin, inter-node replication).
- Minimum OS versions and libraries, kernel and sysctl tuning if any.
- Initialization command (if separate from service start).
- Supported TLS cipher suites and keystore formats if applicable.
If you can provide the exact NimbusDB package names, version, and the expected service/binary names, I can replace placeholders and produce a product-specific, command-complete version of this guide.