Installing Sisense on Linux

Last updated: October 21, 2026

Tier Deployment
Enterprise On-Prem

Note:

Sisense may provide configuration recommendations in an attempt to assist with integrating third-party solutions (e.g., monitoring, storage type solutions, etc.) to work better with Sisense; however, Sisense is not responsible for installing or supporting any such third-party solutions.

Ensure that you thoroughly review Minimum Requirements for Sisense in Linux Environments and Checking the Prerequisites before installation.

Tip:

This page describes the sisense.sh installer. If you already have a Kubernetes cluster, you can also install Sisense with Helm directly, without sisense.sh, a Linux install machine, an SSH key, or sudo. See Choosing an Installation Method.

Installation User and Privileges

You run sisense.sh on one Linux machine, the install machine. The privileges that the installation user (the linux_user parameter) needs depend on the deployment type:

Deployment type What the installation user needs

Single node or cluster (multi-node) on RKE2, installed by sisense.sh (single_config.yaml, cluster_config.yaml)

A regular (non-root) user with passwordless sudo on the install machine and on every server in the cluster (the installer prepares the OS and installs RKE2 on each server over SSH).

Existing cloud cluster (EKS, AKS, GKE) or OpenShift (cloud_config.yaml, openshift_config.yaml)

On the machine that runs sisense.sh, use a regular (non-root) Linux user that can run sudo without a password (NOPASSWD) for the duration of the installation; you can remove the NOPASSWD rule afterwards. No privileges are required on the Kubernetes worker nodes: the installer does not connect to or run anything on them. The same user needs kubectl access to the cluster with cluster-admin rights.

Provisioner or Helm (without sisense.sh)

No Linux user, SSH key, or sudo is needed anywhere. Run from any computer with kubectl and helm and cluster-admin access to the cluster.

The installer checks the sudo privileges of linux_user when it starts. If sudo asks for a password, the installation stops with the message User <user> has insufficient sudo permissions. You can remove the NOPASSWD rule after the installation completes.

Sisense services run as a regular user, not as root: Sisense pods run as UID/GID 1000 by default (set with run_as_user, run_as_group, and fs_group), and the installer sets the owner of /opt/sisense to this UID/GID. For more information, see Privileges and Permissions for Self-Deployment.

What the Installer Changes on Your Servers (RKE2 Only)

For single-node and cluster deployments on RKE2, the installer connects to each server in k8s_nodes over SSH on port 22 (the SSH port is not configurable) and uses sudo to prepare the server for Kubernetes. Review these changes before you install. On an existing cloud cluster or OpenShift, the installer does not connect to or change the cluster servers.

On each server, the installer:

  • Disables swap and removes swap entries from /etc/fstab.

  • Sets SELinux to disabled (in /etc/selinux/config) and switches it off for the running system.

  • On a new online installation, stops and disables the host firewall service (firewalld or ufw) if it is running.

  • Loads the kernel modules that Kubernetes networking needs (for example, br_netfilter and vxlan).

  • Writes kernel settings (sysctl) to /etc/sysctl.conf and /etc/sysctl.d/, for example net.ipv4.ip_forward=1, net.bridge.bridge-nf-call-iptables=1, vm.overcommit_memory=1, and higher fs.inotify limits.

  • Sets the server's hostname to the node value in k8s_nodes.

  • Creates /opt/sisense and its data directories and sets their owner to run_as_user:run_as_group (1000:1000 by default).

  • Installs OS packages it needs (for example, lvm2 for rook-ceph storage, or the NFS client package for nfs and efs storage). If you set a proxy, the installer adds it to the package manager configuration.

  • Installs RKE2 (version v1.37.0+rke2r1) as a systemd service: rke2-server on the first server in k8s_nodes and rke2-agent on the other servers. It also copies kubectl and helm to /usr/local/bin.

On the install machine, the installer also installs packages (for example, Python, jq, pssh, and sshpass), creates a Python virtual environment in the installer directory, copies kubectl, helm, and helmfile to /usr/local/bin, saves rendered configuration under /opt/sisense/config, and adds command completion to ~/.bashrc. For RKE2 deployments, it copies the cluster's kubeconfig to ~/.kube/config, and (for online installations) sets SSH keep-alive options in /etc/ssh/sshd_config and restarts the SSH service.

Cluster Networking Defaults

The installer creates the RKE2 cluster with the Calico network plugin (cni_plugin) and these address ranges:

  • Pod network: 10.42.0.0/16

  • Service network: 10.43.0.0/16

  • Cluster DNS: 10.43.0.10

Make sure these ranges do not overlap with your servers' networks. You cannot change them after the cluster is created. For the ports that must be open between the servers, see Sisense Required Ports for Linux.

Installing Sisense

Pre-Installation:

  1. Backup the Sisense servers prior to installation, for rollback purposes.
  2. Prepare the installation user: a regular (non-root) Linux user that can run sudo without a password. For single-node and cluster deployments on RKE2, the user must exist on the install machine and on every server in the cluster. For an existing cloud cluster or OpenShift, the user is needed only on the install machine. See Installation User and Privileges.

    Check which privileges each user has to run sudo:

    sudo -l -U <installation user>

    The response to this command must include the following:

    (ALL : ALL) NOPASSWD: ALL

    It is recommended that the user has a UID/GID of 1000. Run the following command to check the user's UID:

    id -u <installation user>

    If you need to use a user with a UID/GID other than 1000, see Installing RKE with a Specified UID.

  3. Log in to the install machine as the installation user.
  4. Navigate to the directory that you will install from.

    cd sisense-installation-directory

  5. Deployment

    Sisense supports four types of deployment:

    • Single-node
    • Cluster (multi-node)
    • OpenShift
    • Cloud-based Kubernetes

    Contact your Sisense Customer Success Manager to receive the link to the latest Linux archive file. The archive includes five configuration files, one for each of the deployment types and a generic config.yaml file that contains all of the parameters for each deployment.

    Follow the instructions for your type of deployment in the relevant drop-down option below:

  6. Once the installation is complete, some Sisense pods will remain in the Init state until the license activation. To activate the license, navigate to the Sisense web application URL (without extra paths such as /app/account/login) in your browser and enter your license credentials.

Accessing Sisense After Installation

When the installation finishes, the installer displays the address of your Sisense application in a message like The app is accessible on address: <address>. The address depends on your configuration:

  • Without SSL (default): http://<application_dns_name or node IP address>:<gateway_port>, for example http://10.0.0.11:30845. The port is open on every node.

  • With is_ssl: true: https://<application_dns_name>/ (port 443).

  • With gateway_port: 80: http://<application_dns_name or node IP address>/.

  • On an existing cloud cluster with cloud_load_balancer: true: the address of the load balancer.

If application_dns_name is empty, the installer uses the address of the first node.

Note:

The kubectl cluster-info command shows the address of the Kubernetes control plane, not the address of Sisense. The installer does not install the Kubernetes dashboard.

To verify that all your services are running as expected, enter the Sisense address with /app/test added to the end, for example http://10.0.0.11:30845/app/test. This displays the status of each of your services.

To use the Sisense command-line completion, run source ~/add_completion-<namespace>.sh. The installer creates this file in the installation user's home directory.

Installation Logs and Troubleshooting

The installer writes its log to sisense-installer.log in the directory you ran ./sisense.sh from (normally the extracted installer directory). Each run adds to the end of the file. To follow the installation, run:

tail -f sisense-installer.log

When a stage that runs on the servers fails, the installer prints the errors from each server at the end of the log. It also saves them under installer/<stage>/errors/ in the installer directory, one file per server (for example, installer/02_sisense_validations/errors/).

The following table lists common messages and how to fix them:

Message Cause and solution

User <user> has insufficient sudo permissions
sudo configuration should include NOPASSWD for the installation and can be removed at the end of the installation.

sudo asks the installation user for a password. Add a NOPASSWD rule for the user, for example <user> ALL=(ALL) NOPASSWD: ALL in a file under /etc/sudoers.d/. For RKE2 deployments, do this on every server.

Failed to find linux user ... Please set an existing user with sudo permission in the configuration file and try again...

linux_user is empty or the user does not exist on the install machine. Set it to an existing user.

OS is not supported, ... or Unsupported version has been detected, ...

The install machine or a server runs an operating system or version that the installer does not support. See Minimum Requirements for Sisense in Linux Environments.

ERROR - Fail to connect, Please make sure port 22 is open and the ip addresses are correct

The install machine cannot reach a server on SSH port 22. Check the IP addresses in k8s_nodes and your firewall rules. The SSH port cannot be changed.

ERROR - Fail to open SSH connection with authenticate user ...

The SSH login failed. Check linux_user, ssh_key (or the password you entered), and that the user's public key is in ~/.ssh/authorized_keys on every server.

Sisense Installer must run from the first k8s node of the cluster

You ran the installer on a machine that is not the first node in k8s_nodes. Run it on the first node, or set remote_installation: true.

Error: k8s_nodes array is empty or currupted ...

The k8s_nodes section is missing or not indented correctly (2 spaces) in the configuration file.

ERROR: Kernel version must be 5.13 or higher ... or ERROR: cgroup v2 is required ...

The server's kernel is older than 5.13 or does not use cgroup v2. Upgrade the kernel or enable cgroup v2 as the message describes, and reboot.

ERROR: Insufficient CPU ..., ERROR: Insufficient RAM ..., or AVX is not supported on this CPU.

The server does not meet the CPU, memory, or AVX instruction set requirements. See Minimum Requirements for Sisense in Linux Environments.

The following ports are not opened:

Another process is already listening on the listed ports on the server. Stop that process, or use a clean server.

ERROR: Disk space validation ... failed. or ERROR: Sisense has no dedicated mount point on /opt or /opt/sisense, which is mandatory requierment in single node!

The server does not have enough disk space, or (single node) /opt or /opt/sisense is not a separate mount. See Mounting on a Dedicated Disk for Sisense Single Nodes.

ERROR: The disk ... is partitioned ... or ERROR: The partition ... is mounted to ...

For storage_type: rook-ceph, the device in disk_volume_device must be unpartitioned and unmounted.

ERROR: Unsupported storage type: ...

The value of storage_type is not one of the supported values.

Error: SSL certificate or key file does not exist

With is_ssl: true, the files in ssl_key_path and ssl_cer_path must exist on the install machine.

ERROR: cannot change CIDR/DNS on existing working RKE2 cluster!

The cluster networking ranges cannot be changed after the cluster is created. See Cluster Networking Defaults.

For more information, watch this video about Installing Sisense: