Install InfluxDB Enterprise v1 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.
- Requirements
- Set up, configure, and start the meta service
- Set up, configure, and start the data services
- Install Chronograf
- Next steps
Not recommended for production
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 (typically 3 nodes) manage data syncing and high availability of data nodes. In a single-server (single-node) installation, a meta process and the accompanying influxd-ctl utility still manage the “cluster”, but with a single meta node and the data processes running on the same server.
Download and install the InfluxDB Enterprise meta service:
wget https://dl.influxdata.com/enterprise/releases/influxdb-meta_1.12.2-c1.12.2-1_amd64.deb sudo dpkg -i influxdb-meta_1.12.2-c1.12.2-1_amd64.debwget https://dl.influxdata.com/enterprise/releases/influxdb-meta-1.12.2_c1.12.2-1.x86_64.rpm sudo yum localinstall influxdb-meta-1.12.2_c1.12.2-1.x86_64.rpmEdit the InfluxDB Enterprise meta configuration file
In
/etc/influxdb/influxdb-meta.conf:- Uncomment
hostnameand set to the full hostname of the meta node. - Set
[enterprise].license-keyto the license key you received on InfluxPortal OR[enterprise].license-pathto the local path to the JSON license file you received from InfluxData. - Uncomment
[meta].internal-shared-secretset 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-secretsettings in the configuration files of your data nodes.
The
license-keyandlicense-pathsettings 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>"- Uncomment
Start the InfluxDB Enterprise meta service in single-server mode:
Run the
startcommand appropriate to your operating system’s service manager. In the command, include the-single-serverflag, which ensures that the single meta node is the leader and has all the metadata for the cluster.Edit the
influxdb-metainit script to include the-single-serverflag:Open the init script for editing, for example:
sudo nano /etc/init.d/influxdb-metaFind the section of the script that starts the
influxdb-metaservice and add the-single-serverflag–for example:case "$1" in start) echo "Starting InfluxDB Meta..." /usr/bin/influxdb-meta -single-server & ;; stop) echo "Stopping InfluxDB Meta..." killall influxdb-meta ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0Restart the service to apply the changes:
sudo service influxdb-meta restart
For more information about sysvinit and initscripts, see the sysvinit Gentoo Linux documentation.
Edit the
influxdb-metaservice unit file or a drop-in configuration file to include the-single-serverflag–for example:Use
systemctl editwith the--drop-inoption to create the drop-in configuration file for the service:sudo systemctl edit --drop-in influxdb-metaAdd the following to the drop-in configuration file to include the -single-server flag in the startup command:
[Service] ExecStart= ExecStart=/usr/bin/influxdb-meta -single-serverStart the service using
systemctl:sudo systemctl start influxdb-metaReload the Systemd Daemon: Reload the systemd daemon to apply the changes:
sudo systemctl daemon-reloadStart the service using systemctl:
sudo systemctl start influxdb-meta
For more information about systemd unit files, see the Arch Linux documentation for Writing unit files
Ensure the
influxdb-metaprocess is running:Use
ps auxto list running processes andgrepto filter the list of running process to those that containinfluxdb-metaand filter out thegrepprocess searching forinfluxdb-meta.ps aux | grep -v grep | grep influxdb-metaYou 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.confUse
influxd-ctlto add the meta process to the InfluxDB Enterprise “cluster”:influxd-ctl add-meta <your-host-name>:8091The output should be similar to:
Added meta node x at <your-host-name>:8091Use
influxd-ctlto verify the meta node was added to the InfluxDB Enterprise “cluster”:influxd-ctl showThe output should be similar to:
Data Nodes ========== ID TCP Address Version Meta Nodes ========== ID TCP Address Version Labels 1 <your-host-name>:8091 1.12.2-c1.12.2 {}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.
Download and install the InfluxDB Enterprise data service:
wget https://dl.influxdata.com/enterprise/releases/influxdb-data_1.12.2-c1.12.2-1_amd64.deb sudo dpkg -i influxdb-data_1.12.2-c1.12.2-1_amd64.debwget https://dl.influxdata.com/enterprise/releases/influxdb-data-1.12.2_c1.12.2-1.x86_64.rpm sudo yum localinstall influxdb-data-1.12.2_c1.12.2-1.x86_64.rpmEdit the data node configuration files:
In
/etc/influxdb/influxdb.conf:- Uncomment
hostnameat the top of the file and set it to the full hostname of the data node. - Set
enterprise.license-keyto the license key you received on InfluxPortal ORenterprise.license-pathto the local path to the JSON license file you received from InfluxData. - Uncomment
[meta].meta-auth-enabledand set it totrue. - Uncomment
[meta].meta-internal-shared-secretand 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-secretvalue in the your meta node configuration file (/etc/influxdb/influxdb-meta.conf). - Uncomment
[http].auth-enabledset it totrue.
The
license-keyandlicense-pathsettings 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- Uncomment
Start the InfluxDB Enterprise data service:
Run the command appropriate to your operating system’s service manager.
Ensure the
influxdbprocess is running:Use
ps auxto list running processes andgrepto filter the list of running process to those that containinfluxdband filter out thegrepprocess searching forinfluxdb.ps aux | grep -v grep | grep influxdbYou 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.confIf 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.
Use
influxd-ctlto add the data process to the InfluxDB Enterprise “cluster”:influxd-ctl add-data <your-host-name>:8088The output should be similar to:
Added meta node y at <your-host-name>:8088Use
influxd-ctlto verify the data node was added to the InfluxDB Enterprise “cluster”:influxd-ctl showThe output should be similar to:
Data Nodes ========== ID TCP Address Version Labels 2 <your-host-name>:8088 1.12.2-c1.12.2 {} Meta Nodes ========== ID TCP Address Version Labels 1 <your-host-name>:8091 1.12.2-c1.12.2 {}If you do not see your data node in the output, repeat steps 5–6 to retry adding it to the cluster.
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:
Use the
influxCLI to start an interactive shell.influxUse the
CREATE USERstatement 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
- For information about adding users, see Manage users and permissions
- Enable TLS
- Write data with the InfluxDB API
- Query data with the InfluxDB API
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB Enterprise v1 and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.