Install InfluxDB
This page documents an earlier version of InfluxDB. InfluxDB v2.7 is the latest stable version. View this page in the v2.7 documentation.
The InfluxDB 2.0 time series platform is purpose-built to collect, store, process and visualize metrics and events. Download, install, and set up InfluxDB OSS.
Install InfluxDB v2.0
Use Homebrew
We recommend using Homebrew to install InfluxDB v2.0 on macOS:
brew update
brew install influxdb
Manually download and install
You can also download the InfluxDB v2.0 binaries for macOS directly:
(Optional) Verify the authenticity of downloaded binary
For added security, use gpg
to verify the signature of your download.
(Most operating systems include the gpg
command by default.
If gpg
is not available, see the GnuPG homepage for installation instructions.)
Download and import InfluxData’s public key:
curl -s https://repos.influxdata.com/influxdata-archive_compat.key | gpg --import -
Download the signature file for the release by adding
.asc
to the download URL. For example:wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.9-darwin-amd64.tar.gz.asc
Verify the signature with
gpg --verify
:gpg --verify influxdb2-2.0.9-darwin-amd64.tar.gz.asc influxdb2-2.0.9-darwin-amd64.tar.gz
The output from this command should include the following:
gpg: Good signature from "InfluxData <support@influxdata.com>" [unknown]
Unpackage the InfluxDB binaries
To unpackage the downloaded archive, double-click the archive file in Finder or run the following command in a macOS command prompt application such Terminal or iTerm2:
# Unpackage contents to the current working directory
tar zxvf ~/Downloads/influxdb2-2.0.9-darwin-amd64.tar.gz
(Optional) Place the binaries in your $PATH
If you choose, you can place influx
and influxd
in your $PATH
or you can
prefix the executables with ./
to run then in place.
# (Optional) Copy the influx and influxd binary to your $PATH
sudo cp influxdb2-2.0.9-darwin-amd64/{influx,influxd} /usr/local/bin/
Both InfluxDB 1.x and 2.x include influx
and influxd
binaries.
If InfluxDB 1.x binaries are already in your $PATH
, run the 2.0 binaries in place
or rename them before putting them in your $PATH
.
If you rename the binaries, all references to influx
and influxd
in this documentation refer to your renamed binaries.
Networking ports
By default, InfluxDB uses TCP port 8086
for client-server communication over
the InfluxDB HTTP API.
Start InfluxDB
Start InfluxDB by running the influxd
daemon:
influxd
Run InfluxDB on macOS Catalina
macOS Catalina requires downloaded binaries to be signed by registered Apple developers.
Currently, when you first attempt to run influxd
or influx
, macOS will prevent it from running.
To manually authorize the InfluxDB binaries:
- Attempt to run the
influx
orinfluxd
commands. - Open System Preferences and click Security & Privacy.
- Under the General tab, there is a message about
influxd
orinflux
being blocked. Click Open Anyway. - Repeat this process for both binaries.
We are in the process of updating our build process to ensure released binaries are signed by InfluxData.
“too many open files” errors
After running influxd
, you might see an error in the log output like the
following:
too many open files
To resolve this error, follow the
recommended steps to increase
file and process limits for your operating system version then restart influxd
.
See the influxd
documentation for information about
available flags and options.
Enable shell completion (Optional)
To install influx
shell completion scripts, see influx completion
.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the
--reporting-disabled
flag when starting influxd
.
influxd --reporting-disabled
Download and install InfluxDB v2.0
Download InfluxDB v2.0 for Linux.
InfluxDB v2.0 (amd64) InfluxDB v2.0 (arm)
(Optional) Verify the authenticity of downloaded binary
For added security, use gpg
to verify the signature of your download.
(Most operating systems include the gpg
command by default.
If gpg
is not available, see the GnuPG homepage for installation instructions.)
Download and import InfluxData’s public key:
curl -s https://repos.influxdata.com/influxdata-archive_compat.key | gpg --import -
Download the signature file for the release by adding
.asc
to the download URL. For example:wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.9-linux-amd64.tar.gz.asc
Verify the signature with
gpg --verify
:gpg --verify influxdb2-2.0.9-linux-amd64.tar.gz.asc influxdb2-2.0.9-linux-amd64.tar.gz
The output from this command should include the following:
gpg: Good signature from "InfluxData <support@influxdata.com>" [unknown]
Place the executables in your $PATH
Unpackage the downloaded archive and place the influx
and influxd
executables in your system $PATH
.
Note: The following commands are examples. Adjust the file names, paths, and utilities to your own needs.
# Unpackage contents to the current working directory
tar xvzf path/to/influxdb2-2.0.9-linux-amd64.tar.gz
# Copy the influx and influxd binary to your $PATH
sudo cp influxdb2-2.0.9-linux-amd64/{influx,influxd} /usr/local/bin/
Both InfluxDB 1.x and 2.x include influx
and influxd
binaries.
If InfluxDB 1.x binaries are already in your $PATH
, run the 2.0 binaries in place
or rename them before putting them in your $PATH
.
If you rename the binaries, all references to influx
and influxd
in this documentation refer to your renamed binaries.
Install InfluxDB as a service with systemd
Download and install the appropriate
.deb
or.rpm
file using a URL from the InfluxData downloads page with the following commands:# Ubuntu/Debian wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.x.x-xxx.deb sudo dpkg -i influxdb2_2.x.x_xxx.deb # Red Hat/CentOS/Fedora wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.x.x-xxx.rpm sudo yum localinstall influxdb2_2.x.x_xxx.deb.rpm
Use the exact filename of the download of
.rpm
package (for example,influxdb2-2.0.3-amd64.rpm
).Start the InfluxDB service:
sudo service influxdb start
Installing the InfluxDB package creates a service file at
/lib/systemd/services/influxdb.service
to start InfluxDB as a background service on startup.Restart your system and verify that the service is running correctly:
$ sudo service influxdb status ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enable> Active: active (running)
When installed as a service, InfluxDB stores data in the following locations:
- Time series data:
/var/lib/influxdb/engine/
- Key-value data:
/var/lib/influxdb/influxd.bolt
. - influx CLI configurations:
~/.influxdbv2/configs
(seeinflux config
for more information) .
To customize your InfluxDB configuration, use either command line flags (arguments), environment variables, or an InfluxDB configuration file. See InfluxDB configuration options for more information.
Pass arguments to systemd
- Add one or more lines like the following containing arguments for
influxd
to/etc/default/influxdb2
:ARG1="--http-bind-address :8087" ARG2="<another argument here>"
- Edit the
/lib/systemd/system/influxdb.service
file as follows:ExecStart=/usr/bin/influxd $ARG1 $ARG2
Networking ports
By default, InfluxDB uses TCP port 8086
for client-server communication over
the InfluxDB HTTP API.
Start InfluxDB
Start InfluxDB by running the influxd
daemon:
influxd
See the influxd
documentation for information about
available flags and options.
Enable shell completion (Optional)
To install influx
shell completion scripts, see influx completion
.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the
--reporting-disabled
flag when starting influxd
.
influxd --reporting-disabled
System requirements
- Windows 10
- 64-bit AMD architecture
- Powershell or Windows Subsystem for Linux (WSL)
Command line examples
Use Powershell or WSL to execute influx
and influxd
commands.
The command line examples in this documentation use influx
and influxd
as if
installed on the system PATH
.
If these binaries are not installed on your PATH
, replace influx
and influxd
in the provided examples with ./influx
and ./influxd
respectively.
Download and install InfluxDB v2.0
Download InfluxDB v2.0 for Windows.
Expand the downloaded archive into C:\Program Files\InfluxData\
and rename it if desired.
> Expand-Archive .\influxdb2-2.0.9-windows-amd64.zip -DestinationPath 'C:\Program Files\InfluxData\'
> mv 'C:\Program Files\InfluxData\influxdb2-2.0.9-windows-amd64' 'C:\Program Files\InfluxData\influxdb'
Networking ports
By default, InfluxDB uses TCP port 8086
for client-server communication over
the InfluxDB HTTP API.
Start InfluxDB
In Powershell, navigate into C:\Program Files\InfluxData\influxdb
and start
InfluxDB by running the influxd
daemon:
> cd -Path 'C:\Program Files\InfluxData\influxdb'
> ./influxd
See the influxd
documentation for information about
available flags and options.
Grant network access
When starting InfluxDB for the first time, Windows Defender will appear with the following message:
Windows Defender Firewall has blocked some features of this app.
- Select Private networks, such as my home or work network.
- Click Allow access.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the
--reporting-disabled
flag when starting influxd
.
./influxd --reporting-disabled
Download and run InfluxDB v2.0
Use docker run
to download and run the InfluxDB v2.0 Docker image.
Expose port 8086
, which InfluxDB uses for client-server communication over
the InfluxDB HTTP API.
docker run --name influxdb -p 8086:8086 influxdb:2.0.9
To run InfluxDB in detached mode, include the -d
flag in the docker run
command.
Persist data outside the InfluxDB container
Create a new directory to store your data in and navigate into the directory.
mkdir path/to/influxdb-docker-data-volume && cd $_
From within your new directory, run the InfluxDB Docker container with the
--volume
flag to persist data from/var/lib/influxdb2
inside the container to the current working directory in the host file system.docker run \ --name influxdb \ -p 8086:8086 \ --volume $PWD:/var/lib/influxdb2 \ influxdb:2.0.9
Configure InfluxDB with Docker
To mount an InfluxDB configuration file and use it from within Docker:
Use the command below to generate the default configuration file on the host file system:
docker run \ --rm influxdb:2.0.9 \ influxd print-config > config.yml
Modify the default configuration, which will now be available under
$PWD
.Start the InfluxDB container:
docker run -p 8086:8086 \ -v $PWD/config.yml:/etc/influxdb2/config.yml \ influxdb:2.0.9
(Find more about configuring InfluxDB here.)
Console into the InfluxDB container
To use the influx
command line interface, console into the influxdb
Docker container:
docker exec -it influxdb /bin/bash
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the
--reporting-disabled
flag when starting the InfluxDB container.
docker run -p 8086:8086 influxdb:2.0.9 --reporting-disabled
Install InfluxDB in a Kubernetes cluster
The instructions below use minikube or kind, but the steps should be similar in any Kubernetes cluster. InfluxData also makes Helm charts available.
Start a local cluster:
# with minikube minikube start # with kind kind create cluster
Apply the sample InfluxDB configuration by running:
kubectl apply -f https://raw.githubusercontent.com/influxdata/docs-v2/master/static/downloads/influxdb-k8-minikube.yaml
Always inspect YAML manifests before running kubectl apply -f <url>
!
This creates an `influxdb` Namespace, Service, and StatefulSet.
A PersistentVolumeClaim is also created to store data written to InfluxDB.
Ensure the Pod is running:
kubectl get pods -n influxdb
Ensure the Service is available:
kubectl describe service -n influxdb influxdb
You should see an IP address after
Endpoints
in the command’s output.Forward port 8086 from inside the cluster to localhost:
kubectl port-forward -n influxdb service/influxdb 8086:8086
InfluxDB on Raspberry Pi
Requirements
To run InfluxDB on Raspberry Pi, you will need:
- a Raspberry Pi 4+ or 400
- a 64-bit operating system. We recommend installing a 64-bit version of Ubuntu of Ubuntu Desktop or Ubuntu Server compatible with 64-bit Raspberry Pi.
Installation
Follow the Linux installation instructions to install InfluxDB on a Raspberry Pi.
Use the Raspberry Pi template to easily configure collecting and visualizating system metrics for the Raspberry Pi.
Support for 32-bit systems
If you have a 32-bit Raspberry Pi, use Telegraf to collect and send data to:
- InfluxDB OSS, running on a 64-bit system
- InfluxDB Cloud Free Plan
- InfluxDB Cloud Usage-Based Plan
Set up InfluxDB
The initial setup process for InfluxDB walks through creating a default organization,
user, bucket, and Operator API token.
The setup process is available in both the InfluxDB user interface (UI) and in
the influx
command line interface (CLI).
Operator token permissions
The Operator token created in the InfluxDB setup process has full read and write access to all organizations in the database. To prevent accidental interactions across organizations, we recommend creating an All-Access token for each organization and using those to manage InfluxDB.
Set up InfluxDB through the UI
- With InfluxDB running, visit localhost:8086.
- Click Get Started
Set up your initial user
- Enter a Username for your initial user.
- Enter a Password and Confirm Password for your user.
- Enter your initial Organization Name.
- Enter your initial Bucket Name.
- Click Continue.
InfluxDB is now initialized with a primary user, organization, and bucket. You are ready to write or collect data.
(Optional) Set up and use the influx CLI
If you set up InfluxDB through the UI and want to use the influx
CLI, we recommend setting up a configuration profile. This lets you avoid having to pass your InfluxDB API token with each influx
command. Complete the following steps to set up a configuration profile that stores your credentials.
In a terminal, run the following command:
# Set up a configuration profile influx config create -n default \ -u http://localhost:8086 \ -o example-org \ -t mySuP3rS3cr3tT0keN \ -a
This configures a new profile named
default
and makes the profile active so yourinflux
CLI commands run against this instance. For more detail, see influx config.Learn
influx
CLI commands. To see all availableinflux
commands, typeinflux -h
or check out influx - InfluxDB command line interface.
Set up InfluxDB through the influx CLI
Begin the InfluxDB setup process via the influx
CLI by running:
influx setup
- Enter a primary username.
- Enter a password for your user.
- Confirm your password by entering it again.
- Enter a name for your primary organization.
- Enter a name for your primary bucket.
- Enter a retention period for your primary bucket—valid units are nanoseconds (
ns
), microseconds (us
orµs
), milliseconds (ms
), seconds (s
), minutes (m
), hours (h
), days (d
), and weeks (w
). Enter nothing for an infinite retention period. - Confirm the details for your primary user, organization, and bucket.
InfluxDB is now initialized with a primary user, organization, bucket, and API token. InfluxDB also creates a configuration profile for you so that you don’t have to add organization and token to every command. To view that config profile, use the influx config list
command.
To continue to use InfluxDB via the CLI, you need the API token created during setup. To view the token, log into the UI with the credentials created above. (For instructions, see View tokens in the InfluxDB UI.)
You are ready to write or collect data.
To automate the setup process, use flags to provide the required information.
After you’ve installed InfluxDB, you’re ready to get started working with your data in InfluxDB.
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:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.