文档说明

安装 InfluxDB

InfluxDB v2 时间序列平台专为收集、存储、处理和可视化指标和事件而设计。

下载并安装 InfluxDB v2

推荐:在打开和安装软件包以及下载的文件之前,使用 SHA 校验和 GPG 签名验证来确保文件完整且真实。

InfluxDB 的某些操作系统版本的安装说明包括在安装之前验证下载文件的步骤。

有关 SHA 和 GPG 验证的更多信息,请参阅以下内容

选择与您的操作系统版本兼容的 InfluxData 密钥对

使用SHA-256验证下载完整性

使用GPG验证文件完整性和真实性

以下说明包括下载、验证和安装InfluxDB的步骤

要安装InfluxDB,请执行以下操作之一

我们建议使用Homebrew在macOS上安装InfluxDB v2。

InfluxDB和influx CLI是独立的包

InfluxDB服务器(influxd)和influx CLI分别打包和版本化。

您将在稍后的步骤中安装influx CLI

使用Homebrew安装

brew update
brew install influxdb

手动下载和安装macOS

  1. 在您的浏览器或终端中下载InfluxDB包。

    InfluxDB v2 (macOS)

    # Download using cURL
    curl --location -O \
    "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10_darwin_amd64.tar.gz"
    
  2. 推荐:验证下载的完整性——例如,在您的终端中输入以下命令

# Use 2 spaces to separate the checksum from the filename
echo "
964e1de641a43a0e1743aa5ead243e935a05631ba0bc570fb8bff486542173c1
influxdb2-2.7.10_darwin_amd64.tar.gz"
\
| shasum --algorithm 256 --quiet --check -

替换以下内容

  • 964e1de641a43a0e1743aa5ead243e935a05631ba0bc570fb8bff486542173c1:从下载页面的SHA校验和
  1. 解压InfluxDB二进制文件。

    执行以下操作之一

    • Finder中双击下载的包文件。
    • 在您的终端(例如,TerminaliTerm2),使用tar解压文件——例如,输入以下命令将其解压到当前目录
    # Unpackage contents to the current working directory
    tar zxvf ./influxdb2-2.7.10_darwin_amd64.tar.gz
    
  2. 可选:将influxd二进制文件放入您的$PATH中——例如,将二进制文件复制到/usr/local/bin

    # (Optional) Copy the influxd binary to your $PATH
    sudo cp influxdb2-2.7.10/influxd /usr/local/bin/
    

    influxd二进制文件在您的$PATH中(/usr/local/bin),您可以在终端中输入influxd来启动服务器。

    如果您选择不将influxd二进制文件移动到您的$PATH中,请输入二进制文件的路径以启动服务器——例如

    ./influxdb2-2.7.10/influxd
    

1.x和2.x版本的InfluxDB都有关联的influxdinflux二进制文件。如果1.x的二进制文件已经存在于您的$PATH中,请在同一位置运行2.x的二进制文件或重新命名它们再将其放入$PATH中。如果您重命名了二进制文件,本文档中所有对influxdinflux的引用均指您重命名的二进制文件。

要在Linux上安装InfluxDB,请执行以下操作之一

InfluxDB和influx CLI是独立的包

InfluxDB服务器(influxd)和influx CLI分别打包和版本化。

您将在稍后的步骤中安装influx CLI

使用systemd将InfluxDB安装为服务

  1. 选择适用于您的操作系统版本的InfluxData密钥对.

  2. 运行针对您的操作系统版本的命令以安装InfluxData密钥,添加InfluxData仓库并安装influxdb

    在运行命令之前,将校验和和密钥文件名替换为上一步中的密钥对。

    # Ubuntu and Debian
    # Add the InfluxData key to verify downloads and add the repository
    curl --silent --location -O \
    https://repos.influxdata.com/influxdata-archive.key
    echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
    | sha256sum --check - && cat influxdata-archive.key \
    | gpg --dearmor \
    | tee /etc/apt/trusted.gpg.d/influxdata-archive.gpg > /dev/null \
    && echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
    | tee /etc/apt/sources.list.d/influxdata.list
    # Install influxdb
    sudo apt-get update && sudo apt-get install influxdb2
    
    # RedHat and CentOS
    # Add the InfluxData key to verify downloads
    curl --silent --location -O \
    https://repos.influxdata.com/influxdata-archive.key \
    && echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
    | sha256sum --check - && cat influxdata-archive.key \
    | gpg --dearmor \
    | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-influxdata > /dev/null
    
    # Add the InfluxData repository to the repository list.
    cat <<EOF | tee /etc/yum.repos.d/influxdata.repo
    [influxdata]
    name = InfluxData Repository - Stable
    baseurl = https://repos.influxdata.com/stable/${basearch}/main
    enabled = 1
    gpgcheck = 1
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-influxdata
    EOF
    
    # Install influxdb
    sudo yum install influxdb2
    
  3. 启动InfluxDB服务

    sudo service influxdb start
    

    安装InfluxDB包会在/lib/systemd/system/influxdb.service创建一个服务文件,以便在启动时以后台服务启动InfluxDB。

  4. 要验证服务是否正确运行,重新启动系统,然后在您的终端中输入以下命令

    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)
    

有关InfluxDB作为服务运行时在磁盘上存储数据的更多信息,请参阅文件系统布局

将配置选项传递给服务

您可以使用systemd来自定义InfluxDB配置选项并将它们传递给InfluxDB服务。

  1. 编辑/etc/default/influxdb2服务配置文件以将配置指令分配给influxd命令行标志——例如,添加一个或多个类似于以下内容的<ENV_VARIABLE_NAME>=<COMMAND_LINE_FLAG>

    ARG1="--http-bind-address :8087"
    ARG2="--storage-wal-fsync-delay=15m"
    
  2. 编辑/lib/systemd/system/influxdb.service文件以将变量传递给ExecStart

    ExecStart=/usr/bin/influxd $ARG1 $ARG2
    

手动下载并安装influxd二进制文件

如有必要,调整示例文件路径和实用程序以适应您的系统。

  1. 在您的浏览器或终端中,下载适合您系统架构(AMD64或ARM)的InfluxDB二进制文件。

    InfluxDB v2 (amd64) InfluxDB v2 (arm)

    # Use curl to download the amd64 binary.
    curl --location -O \
    https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10_linux_amd64.tar.gz
    
    # Use curl to download the arm64 binary.
    curl --location -O \
    https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10_linux_arm64.tar.gz
    
  2. 选择适用于您的操作系统版本的InfluxData密钥对.

  3. 建议:验证下载的二进制文件的完整性——例如,在您的终端中输入以下命令。

    在运行系统命令之前,将https://repos.influxdata.com/influxdata-archive.key替换为上一步中的密钥URL。

    # amd64
    # Download and import the key
    curl --silent --location https://repos.influxdata.com/influxdata-archive.key \
    | gpg --import - 2>&1 \
    | grep 'InfluxData Package Signing Key <[email protected]>' \
    &&
    # Download and verify the binary's signature file
    curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10_linux_amd64.tar.gz.asc" \
    | gpg --verify - influxdb2-2.7.10_linux_amd64.tar.gz \
    2>&1 | grep 'InfluxData Package Signing Key <[email protected]>'
    
    # arm64
    # Download and import the key
    curl --silent --location https://repos.influxdata.com/influxdata-archive.key \
    | gpg --import - 2>&1 \
    | grep 'InfluxData Package Signing Key <[email protected]>' \
    &&
    # Download and verify the binary's signature file
    curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10_linux_arm64.tar.gz.asc" \
    | gpg --verify - influxdb2-2.7.10_linux_arm64.tar.gz \
    2>&1 | grep 'InfluxData Package Signing Key <[email protected]>'
    

    如果成功,输出类似于以下内容

    gpg: Good signature from "InfluxData Package Signing Key <[email protected]>" [unknown]
    
  4. 解压下载的二进制文件——例如,为您的系统输入以下命令

    # amd64
    tar xvzf ./influxdb2-2.7.10_linux_amd64.tar.gz
    
    # arm64
    tar xvzf ./influxdb2-2.7.10_linux_arm64.tar.gz
    
  5. 可选:将解压的influxd可执行二进制文件放入您的系统$PATH中。

    # amd64
    sudo cp ./influxdb2-2.7.10/usr/bin/influxd /usr/local/bin/
    
    # arm64
    sudo cp ./influxdb2-2.7.10/usr/bin/influxd /usr/local/bin/
    

    如果您选择不将 influxd 二进制文件移动到您的 $PATH,请输入二进制文件的路径以启动服务器——例如

    ./influxdb2-2.7.10/usr/bin/influxd
    

系统要求

命令行示例

使用 PowerShellWSL 来执行 influxinfluxd 命令。本文档中的命令行示例使用 influxinfluxd 作为已安装在系统 PATH 中的命令。如果这些二进制文件没有安装到您的 PATH,请在提供的示例中将 influxinfluxd 分别替换为 ./influx./influxd

InfluxDB和influx CLI是独立的包

InfluxDB服务器(influxd)和influx CLI分别打包和版本化。

您将在稍后的步骤中安装influx CLI

InfluxDB v2 (Windows)

将下载的压缩文件解压到 C:\Program Files\InfluxData\,并根据需要重命名文件。

Expand-Archive .\influxdb2-2.7.10-windows.zip -DestinationPath 'C:\Program Files\InfluxData\'
mv 'C:\Program Files\InfluxData\influxdb2-2.7.10' 'C:\Program Files\InfluxData\influxdb'

在容器中安装和设置 InfluxDB

以下步骤展示了如何使用 Docker CLI 来设置和运行 InfluxDB。但您也可以 使用 Docker Compose

以下指南使用 Docker 挂载的 来持久化 InfluxDB 配置和数据。将数据持久化到容器外部的文件系统确保即使您删除了容器,数据也不会被删除。

  1. 为您的系统安装 Docker Desktop

  2. influxdb Docker Hub 镜像 启动 Docker 容器——例如,在您的终端中,输入带有初始设置选项和文件系统挂载的命令行标志的 docker run influxdb:2 命令。

如果您没有指定 InfluxDB 初始设置选项,您可以在运行容器后使用 UI 或 CLI 手动设置——请参阅设置 InfluxDB

docker run \
 --name influxdb2 \
 --publish 8086:8086 \
 --mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2 \
 --mount type=volume,source=influxdb2-config,target=/etc/influxdb2 \
 --env DOCKER_INFLUXDB_INIT_MODE=setup \
 --env DOCKER_INFLUXDB_INIT_USERNAME=
ADMIN_USERNAME
\
--env DOCKER_INFLUXDB_INIT_PASSWORD=
ADMIN_PASSWORD
\
--env DOCKER_INFLUXDB_INIT_ORG=
ORG_NAME
\
--env DOCKER_INFLUXDB_INIT_BUCKET=
BUCKET_NAME
\
influxdb:2

该命令传递以下参数

  • --publish 8086:8086:在主机的 8086 端口上公开 InfluxDB 的 UIHTTP API

  • --mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2:创建一个名为 influxdb2-data 的卷,将其映射到 InfluxDB 数据目录 以持久化数据到容器外部。

  • --mount type=volume,source=influxdb2-config,target=/etc/influxdb2:创建一个名为 influxdb2-config 的卷,将其映射到 InfluxDB 配置目录 以使配置在容器外部可用。

  • --env DOCKER_INFLUXDB_INIT_MODE=setup:环境变量,在创建容器时调用自动设置初始组织、用户、桶和令牌。

  • --env DOCKER_INFLUXDB_INIT_<SETUP_OPTION>:初始设置选项的环境变量——将以下内容替换为您自己的值

    • ADMIN_USERNAME:初始 用户 的用户名——一个具有 API 操作令牌 的管理员用户。
    • ADMIN_PASSWORD:初始 用户 的密码。
    • ORG_NAME:初始 组织 的名称。
    • BUCKET_NAME:初始 的名称。

如果成功,该命令将启动初始化了用户、组织、桶和操作员令牌的InfluxDB,并将日志输出到stdout。

您可以在/etc/influxdb2/influx-configs文件中查看操作员令牌,并使用它来创建所有访问令牌

要在分离模式下运行InfluxDB容器,请在docker run命令中包含--detach标志。

有关更多InfluxDB配置选项,请参阅influxdb Docker Hub镜像文档。

在容器中运行InfluxDB CLI命令

当您使用influxdb Docker Hub镜像启动容器时,它也会在容器中安装influx CLI。在容器中设置并运行InfluxDB后,您可以使用Docker CLI的docker exec命令与容器内的influxinfluxd CLI进行交互。

语法

docker exec -it <CONTAINER_NAME> <CLI_NAME> <COMMAND>`

示例

# List CLI configurations
docker exec -it influxdb2 influx config ls
# View the server configuration
docker exec -it influxdb2 influx server-config
# Inspect server details
docker exec -it influxdb2 influxd inspect -d

管理挂载卷中的文件

要复制文件,例如InfluxDB服务器的config.yml文件,在本地文件系统和卷之间,请使用docker container cp命令

在Kubernetes集群中安装InfluxDB

以下说明使用minikubekind,但在任何Kubernetes集群中的步骤应类似。InfluxData还提供了Helm图表

  1. 安装minikubekind

  2. 启动本地集群

    # with minikube
    minikube start
    
    # with kind
    kind create cluster
    
  3. 通过运行以下命令应用示例InfluxDB配置

    kubectl apply -f https://raw.githubusercontent.com/influxdata/docs-v2/master/static/downloads/influxdb-k8-minikube.yaml
    

    这创建了一个influxdb命名空间、服务和无状态集。还会创建一个PersistentVolumeClaim来存储写入InfluxDB的数据。

    重要:在运行kubectl apply -f <url>之前,请始终检查YAML清单!

  4. 确保Pod正在运行

    kubectl get pods -n influxdb
    
  5. 确保服务可用

    kubectl describe service -n influxdb influxdb
    

    您应在命令输出的Endpoints后看到一个IP地址。

  6. 将集群内部8086端口转发到localhost

    kubectl port-forward -n influxdb service/influxdb 8086:8086
    

要求

要在Raspberry Pi上运行InfluxDB,您需要

  • Raspberry Pi 4+或400
  • 64位操作系统。 推荐:与64位Raspberry Pi兼容的64位Ubuntu桌面或Ubuntu服务器。

安装Linux二进制文件

按照Linux安装说明在Raspberry Pi上安装InfluxDB。

监控您的Raspberry Pi

使用InfluxDB Raspberry Pi模板轻松配置收集和可视化Raspberry Pi的系统指标。

监控32位Raspberry Pi系统

如果您有32位Raspberry Pi,请使用Telegraf收集数据并发送到

启动 InfluxDB

如果InfluxDB尚未运行,请按照说明在您的系统上启动InfluxDB

要启动InfluxDB,请运行influxd守护进程

influxd

(macOS Catalina及更高版本) 授权influxd二进制文件

macOS要求下载的二进制文件必须由注册的苹果开发者签名。目前,当您第一次尝试运行influxd时,macOS会阻止它运行。

要手动授权influxd二进制文件,请根据您的macOS版本遵循说明来允许下载的应用程序。

在macOS Ventura上运行InfluxDB
  1. 按照前面的说明尝试启动influxd
  2. 打开系统设置并点击隐私和安全
  3. 安全标题下,有关于“influxd”被阻止的消息,点击仍要允许
  4. 提示时,输入您的密码以允许设置。
  5. 关闭系统设置
  6. 尝试启动influxd
  7. 出现一个提示,其中包含消息“macOS无法验证“influxd”的开发者…”。点击打开
在macOS Catalina上运行InfluxDB
  1. 尝试启动influxd
  2. 打开系统偏好设置并点击安全与隐私
  3. 常规选项卡下,有关于influxd被阻止的消息。点击仍要打开

我们正在更新构建过程,以确保发布的二进制文件由InfluxData签名。

“打开文件过多”错误

运行influxd后,您可能在日志输出中看到如下错误

too many open files

要解决此错误,请遵循推荐的步骤来增加操作系统版本的文件和进程限制,然后重新启动influxd

如果InfluxDB作为systemd服务安装,systemd管理influxd守护进程,无需采取进一步操作。如果二进制文件是手动下载并添加到系统$PATH的,可以使用以下命令启动influxd守护进程

influxd

Powershell中,导航到C:\Program Files\InfluxData\influxdb,然后通过运行influxd守护进程来启动InfluxDB

cd -Path 'C:\Program Files\InfluxData\influxdb'
./influxd

授予网络访问权限

当第一次启动InfluxDB时,Windows Defender会显示以下消息

Windows Defender防火墙已阻止此应用程序的一些功能。

  1. 选择专用网络,如我的家庭或工作网络
  2. 点击允许访问

要使用Docker CLI启动现有容器,请输入以下命令

docker start influxdb2

influxdb2替换为您的容器名称。

要启动新容器,请按照说明安装并设置容器中的InfluxDB

要使用Kubernetes启动InfluxDB,请按照说明在Kubernetes集群中安装InfluxDB

如果成功,您可以在https://127.0.0.1:8086查看InfluxDB UI。

InfluxDB使用默认设置启动,包括以下内容

  • http-bind-address=:8086:使用端口号8086(TCP)用于InfluxDB UI和HTTP API客户端-服务器通信。
  • reporting-disabled=false:将InfluxDB遥测信息发送回InfluxData。

要覆盖默认设置,在启动InfluxDB时指定配置选项–例如

配置端口或地址

退出遥测报告

有关 InfluxDB v2 默认设置以及如何覆盖它们的说明,请参阅InfluxDB 配置选项

InfluxDB 安装并初始化后,开始编写和查询数据

下载、安装并配置 influx 命令行界面

推荐:安装 influx CLI,它提供了一个简单的方式来从命令行与 InfluxDB 交互。有关详细的安装和设置说明,请参阅使用 influx CLI

InfluxDB和influx CLI是独立的包

InfluxDB 服务器(influxd)和influx CLI是分别打包和版本化的。某些安装方法(例如,InfluxDB Docker Hub 图像)包括两者。


这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 将进入维护模式。您可以在不更改代码的情况下继续按当前方式使用它。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群版现在已普遍可用

新功能包括更快的查询性能和管理工具,推动了 InfluxDB v3 产品线的进步。InfluxDB 集群版现在已普遍可用。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强包括用于监控 InfluxDB 集群健康状态的运营仪表板,InfluxDB Cloud Dedicated 中的单点登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解新的 v3 增强功能


InfluxDB 集群版普遍可用

InfluxDB 集群版现在已普遍可用,为您提供了在自管理堆栈中使用 InfluxDB v3 的能力。

与我们谈论 InfluxDB 集群版