Install InfluxDB Enterprise data nodes
InfluxDB Enterprise offers highly scalable clusters on your infrastructure and a management UI for working with clusters. The next steps will get you up and running with the second essential component of your InfluxDB Enterprise cluster: the data nodes.
If you have not set up your meta nodes, please visit Installing meta nodes. Bad things can happen if you complete the following steps without meta nodes.
Requirements
Two or more data nodes
The installation process sets up two data nodes and each data node runs on its own server. You must have a minimum of two data nodes in a cluster. InfluxDB Enterprise clusters require at least two data nodes for high availability and redundancy.
There is no requirement for each data node to run on its own server. However, best practices are to deploy each data node on a dedicated server.
See the Clustering guide for more on cluster architecture.
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 in the following conditions:
- Nodes in your cluster cannot reach
portal.influxdata.com
on port80
or443
- You’re using a FIPS-compliant InfluxDB Enterprise build
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.
Load balancer
InfluxDB Enterprise does not function as a load balancer.
You will need to configure your own load balancer to send client traffic to the
data nodes on port 8086
(the default port for the HTTP API).
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.
Set up data nodes
- Add DNS entries for each of your servers
- Set up, configure, and start the data node services
- Join the data nodes to the cluster
Add DNS entries for each of your servers
Ensure that your servers’ hostnames and IP addresses are added to your network’s DNS environment. The addition of DNS entries and IP assignment is usually site and policy specific. Contact your DNS administrator for assistance as necessary. Ultimately, use entries similar to the following:
Record Type | Hostname | IP |
---|---|---|
A | enterprise-data-01.mydomain.com | <Data_1_IP> |
A | enterprise-data-02.mydomain.com | <Data_2_IP> |
Verify on each meta and data server that the other servers are resolvable.
Here is an example set of shell commands using ping
:
ping -qc 1 enterprise-meta-01
ping -qc 1 enterprise-meta-02
ping -qc 1 enterprise-meta-03
ping -qc 1 enterprise-data-01
ping -qc 1 enterprise-data-02
We highly recommend that each server be able to resolve the IP from the hostname alone as shown here. Resolve any connectivity issues before proceeding with the installation. A healthy cluster requires that every meta node and data node in a cluster be able to communicate.
Set up, configure, and start the data node services
Perform the following steps on each data node:
Download and install the data service
InfluxDB Enterprise 1.11+ provides a standard build and a Federal Information Processing Standards (FIPS)-compliant build. Instructions for both are provided below.
Ubuntu and Debian (64-bit)
wget https://dl.influxdata.com/enterprise/releases/influxdb-data_1.11.7-c1.11.7-1_amd64.deb
sudo dpkg -i influxdb-data_1.11.7-c1.11.7-1_amd64.deb
wget https://dl.influxdata.com/enterprise/releases/fips/influxdb-data_1.11.7-c1.11.7-1_amd64.deb
sudo dpkg -i influxdb-data_1.11.7-c1.11.7-1_amd64.deb
RedHat and CentOS (64-bit)
wget https://dl.influxdata.com/enterprise/releases/influxdb-data-1.11.7_c1.11.7-1.x86_64.rpm
sudo yum localinstall influxdb-data-1.11.7_c1.11.7-1.x86_64.rpm
wget https://dl.influxdata.com/enterprise/releases/fips/influxdb-data-1.11.7_c1.11.7-1.x86_64.rpm
sudo yum localinstall influxdb-data-1.11.7_c1.11.7-1.x86_64.rpm
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.Uncomment
meta-auth-enabled
in the[meta]
section and set it totrue
.Uncomment
meta-internal-shared-secret
in the[meta]
section and set it to a long passphrase. The internal shared secret is used in JWT authentication for intra-node communication. This value must be same for all of your data nodes and match the[meta].internal-shared-secret
value in the configuration files of your meta nodes.Set
license-key
in the[enterprise]
section to the license key you received on InfluxPortal ORlicense-path
in the[enterprise]
section to the local path to the JSON license file you received from InfluxData.The
license-key
andlicense-path
settings are mutually exclusive and one must remain set to the empty string.
If using a FIPS-compliant InfluxDB Enterprise build, also do the following:
- Set
[enterprise].license-path
to the local path to the JSON license file you received from InfluxData. - Set
[meta].password-hash
topbkdf2-sha256
orpbkdf2-sha512
.
# Change this option to true to disable reporting.
# reporting-disabled = false
# bind-address = ":8088"
hostname="<enterprise-data-0x>"
[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
# FIPS-compliant builds do not support bcrypt for password hashing
password-hash = "pbkdf2-sha512"
[...]
[http]
# Determines whether HTTP endpoint is enabled.
# enabled = true
# The bind address used by the HTTP service.
# bind-address = ":8086"
[...]
# The JWT auth shared secret to validate requests using JSON web tokens.
shared-secret = "long pass phrase used for signing tokens"
Start the data service
Join the data nodes to the cluster
You should join your data nodes to the cluster only when you are adding a brand new node,
either during the initial creation of your cluster or when growing the number of data nodes.
If you are replacing an existing data node with influxd-ctl update-data
, skip the rest of this guide.
On one and only one of the meta nodes that you set up,
run the following command for each of your data nodes using the hostname of the
data node and port 8088
:
influxd-ctl add-data enterprise-data-01:8088
Run the add-data
command once and only once for each data node you are joining
to the cluster.
Next steps
Once your data nodes are part of your cluster, do the following:
- Set up authentication. Once you cluster is configured for authentication, if you want to add more users in addition to admin user, see Manage users and permissions.
- Enable TLS.
- Set up Chronograf for UI visualization, dashboards, and management.
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 and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.