Documentation

Install InfluxDB Enterprise on a single server

Installing and running InfluxDB Enterprise on a single server or node is an alternative to using InfluxDB OSS 1.x. InfluxDB Enterprise provides advanced functionality such as LDAP authentication, fine-grained authorization, incremental backup and grants you access to official Influx Help Desk Support.

We do not recommend single-node InfluxDB Enterprise “clusters” in production use cases with high availability requirements. Single-node InfluxDB Enterprise installations provide no redundancy and are limited in scalability.

Requirements

License key or file

InfluxDB Enterprise requires a license key or a license file to run. Your license key is available at InfluxPortal. Contact support at the email we provided at signup to receive a license file. License files are required only if the nodes in your cluster cannot reach portal.influxdata.com on port 80 or 443.

Networking

Data nodes communicate over ports 8088, 8089, and 8091.

For licensing purposes, data nodes must also be able to reach portal.influxdata.com on port 80 or 443. If the data nodes cannot reach portal.influxdata.com on port 80 or 443, you’ll need to set the license-path setting instead of the license-key setting in the data node configuration file.

User account

The installation package creates an influxdb user that is used to run the InfluxDB data service. The influxdb user also owns certain files that are needed for the service to start successfully. In some cases, local policies may prevent the local user account from being created and the service fails to start. Contact your systems administrator for assistance with this requirement.

Static hostname

If running InfluxDB Enterprise on a cloud provider like Amazon Web Services (AWS) or Google Cloud Platform (GCP), ensure the hostname for your server is static. If the server is every restarted, the hostname must remain the same to ensure network connectivity between your InfluxDB Enterprise meta and data processes.

Persistent disk storage

If running InfluxDB Enterprise on a cloud provider like AWS or GCP, ensure the your server is configured to use a persistent disk store that will persist through server restarts.

Set up, configure, and start the meta service

The InfluxDB Enterprise meta process oversees and manages the InfluxDB Enterprise data process. In multi-node clusters, meta nodes manage data syncing and high availability of data nodes. In a single-node installation, the meta process and the accompanying influxd-ctl utility still manage the “cluster”, even though the meta and data processes exist on the same server.

  1. Download and install the InfluxDB Enterprise meta service:

    wget https://dl.influxdata.com/enterprise/releases/influxdb-meta_1.11.5-c1.11.5-1_amd64.deb
    sudo dpkg -i influxdb-meta_1.11.5-c1.11.5-1_amd64.deb
    
    wget https://dl.influxdata.com/enterprise/releases/influxdb-meta-1.11.5_c1.11.5-1.x86_64.rpm
    sudo yum localinstall influxdb-meta-1.11.5_c1.11.5-1.x86_64.rpm
    
  2. Edit the InfluxDB Enterprise meta configuration file

    In /etc/influxdb/influxdb-meta.conf:

    • Uncomment hostname and set to the full hostname of the meta node.
    • Set [enterprise].license-key to the license key you received on InfluxPortal OR [enterprise].license-path to the local path to the JSON license file you received from InfluxData.
    • Uncomment [meta].internal-shared-secret set it to a long passphrase to be used in JWT authentication for intra-node communication. This value must the same for all of your meta nodes and match the [meta].meta-internal-shared-secret settings in the configuration files of your data nodes.

    The license-key and license-path settings are mutually exclusive and one must remain set to the empty string.

    /etc/influxdb/influxdb-meta.conf
    # Hostname advertised by this host for remote addresses.  This must be resolvable by all
    # other nodes in the cluster
    hostname="<your-host-name>"
    
    [enterprise]
      # license-key and license-path are mutually exclusive, use only one and leave the other blank
      license-key = "<your_license_key>" # Mutually exclusive with license-path
    
      # license-key and license-path are mutually exclusive, use only one and leave the other blank
      license-path = "/path/to/readable/JSON.license.file" # Mutually exclusive with license-key
    
    [meta]
      # The shared secret used by the internal API for JWT authentication.
      # This setting must have the same value as the data nodes' 
      # meta.meta-internal-shared-secret configuration.
      internal-shared-secret = "<internal-shared-secret>"
    
  3. Start the InfluxDB Enterprise meta service:

    Run the command appropriate to your operating system’s service manager.

    service influxdb-meta start
    
    sudo systemctl start influxdb-meta
    
  4. Ensure the influxdb-meta process is running:

    Use ps aux to list running processes and grep to filter the list of running process to those that contain influxdb-meta and filter out the grep process searching for influxdb-meta.

    ps aux | grep -v grep | grep influxdb-meta
    

    You should see output similar to:

    influxdb  3207  0.8  4.4 483000 22168 ?        Ssl  17:05   0:08 /usr/bin/influxd-meta -config /etc/influxdb/influxdb-meta.conf
    
  5. Use influxd-ctl to add the meta process to the InfluxDB Enterprise “cluster”:

    influxd-ctl add-meta <your-host-name>:8091
    

    The output should be similar to:

    Added meta node x at <your-host-name>:8091
    
  6. Use influxd-ctl to verify the meta node was added to the InfluxDB Enterprise “cluster”:

    influxd-ctl show
    

    The output should be similar to:

    Data Nodes
    ==========
    ID      TCP Address      Version
    
    Meta Nodes
    ==========
    ID      TCP Address             Version         Labels
    1       <your-host-name>:8091   1.11.5-c1.11.5    {}
    

    If you do not see your meta node in the output, repeat steps 5–6 to retry adding it to the cluster.

Set up, configure, and start the data services

The InfluxDB Enterprise data service runs the InfluxDB storage and query engines.

  1. Download and install the InfluxDB Enterprise data service:

    wget https://dl.influxdata.com/enterprise/releases/influxdb-data_1.11.5-c1.11.5-1_amd64.deb
    sudo dpkg -i influxdb-data_1.11.5-c1.11.5-1_amd64.deb
    
    wget https://dl.influxdata.com/enterprise/releases/influxdb-data-1.11.5_c1.11.5-1.x86_64.rpm
    sudo yum localinstall influxdb-data-1.11.5_c1.11.5-1.x86_64.rpm
    
  2. Edit the data node configuration files:

    In /etc/influxdb/influxdb.conf:

    • Uncomment hostname at the top of the file and set it to the full hostname of the data node.
    • Set enterprise.license-key to the license key you received on InfluxPortal OR enterprise.license-path to the local path to the JSON license file you received from InfluxData.
    • Uncomment [meta].meta-auth-enabled and set it to true.
    • Uncomment [meta].meta-internal-shared-secret and set it to a long pass phrase. The internal shared secret is used in JWT authentication for intra-node communication. This value must match the [meta].internal-shared-secret value in the your meta node configuration file (/etc/influxdb/influxdb-meta.conf).
    • Uncomment [http].auth-enabled set it to true.

    The license-key and license-path settings are mutually exclusive and one must remain set to the empty string.

    # Change this option to true to disable reporting.
    # reporting-disabled = false
    # bind-address = ":8088"
    hostname="<your-host-name>"
    
    [enterprise]
      # license-key and license-path are mutually exclusive, use only one and leave the other blank
      license-key = "<your_license_key>" # Mutually exclusive with license-path
    
      # The path to a valid license file.  license-key and license-path are mutually exclusive,
      # use only one and leave the other blank.
      license-path = "/path/to/readable/JSON.license.file" # Mutually exclusive with license-key
    
    [meta]
      # Where the cluster metadata is stored
      dir = "/var/lib/influxdb/meta" # data nodes do require a local meta directory
    
      # This setting must have the same value as the meta nodes' meta.auth-enabled configuration.
      meta-auth-enabled = true
    
      # This setting must have the same value as the meta nodes' meta.internal-shared-secret configuration
      # and must be non-empty if set.
      meta-internal-shared-secret = "<internal-shared-secret>"
    
    # ...
    
    [http]
      # Determines whether HTTP endpoint is enabled.
      enabled = true
    
      # The bind address used by the HTTP service.
      bind-address = ":8086"
    
      # Determines whether HTTP authentication is enabled.
      auth-enabled = true # Recommended, but not required
    
  3. Start the InfluxDB Enterprise data service:

    Run the command appropriate to your operating system’s service manager.

    service influxdb start
    
    sudo systemctl start influxdb
    
  4. Ensure the influxdb process is running:

    Use ps aux to list running processes and grep to filter the list of running process to those that contain influxdb and filter out the grep process searching for influxdb.

    ps aux | grep -v grep | grep influxdb
    

    You should see output similar to:

    influxdb  3207  0.8  4.4 483000 22168 ?        Ssl  17:05   0:08 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
    

    If you do not see the expected output, the process is either not launching or is exiting prematurely. Check the logs for error messages and verify the previous setup steps are complete.

  5. Use influxd-ctl to add the data process to the InfluxDB Enterprise “cluster”:

    influxd-ctl add-data <your-host-name>:8088
    

    The output should be similar to:

    Added meta node y at <your-host-name>:8088
    
  6. Use influxd-ctl to verify the data node was added to the InfluxDB Enterprise “cluster”:

    influxd-ctl show
    

    The output should be similar to:

    Data Nodes
    ==========
    ID      TCP Address             Version         Labels
    2       <your-host-name>:8088   1.11.5-c1.11.5    {}
    
    Meta Nodes
    ==========
    ID      TCP Address             Version         Labels
    1       <your-host-name>:8091   1.11.5-c1.11.5    {}
    

    If you do not see your data node in the output, repeat steps 5–6 to retry adding it to the cluster.

  7. Create an admin user:

    In Step 2, you modified the InfluxDB Enterprise configuration file to enable authentication. To access the cluster, create at least one admin user:

    1. Use the influx CLI to start an interactive shell.

      influx
      
    2. Use the CREATE USER statement to create a user with all privileges.

      CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES
      

Install Chronograf

Chronograf is InfluxData’s open source web application that visualizes your time series data, manage InfluxDB Enterprise users, and easily create alerting and automation rules.

For Chronograf installation instructions, see Install Chronograf.

Next steps


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: