文档文档

安装 InfluxDB OSS

此页面记录了早期版本的 InfluxDB OSS。 InfluxDB OSS v2 是最新的稳定版本。 请参阅等效的 InfluxDB v2 文档: 安装 InfluxDB OSS v2

此页面提供有关安装、启动和配置 InfluxDB 开源 (OSS) 的说明。

InfluxDB OSS 安装要求

InfluxDB 软件包的安装可能需要 root 或管理员权限才能成功完成。

InfluxDB OSS 网络端口

默认情况下,InfluxDB 使用以下网络端口

  • TCP 端口 8086 可用于使用 InfluxDB API 进行客户端-服务器通信。
  • TCP 端口 8088 可用于 RPC 服务执行备份和恢复操作。

除了上述端口外,InfluxDB 还提供多个插件,这些插件可能需要自定义端口。所有端口映射都可以通过配置文件进行修改,该文件位于默认安装的 /etc/influxdb/influxdb.conf

网络时间协议 (NTP)

InfluxDB 使用主机的本地 UTC 时间为数据分配时间戳并用于协调目的。使用网络时间协议 (NTP) 同步主机之间的时间;如果主机的时钟未与 NTP 同步,则写入 InfluxDB 的数据上的时间戳可能不准确。

安装 InfluxDB OSS

对于不想安装任何软件并准备使用 InfluxDB 的用户,您可能需要查看我们的托管 InfluxDB 产品

有关如何从文件安装 Debian 软件包的说明,请参阅下载页面

Debian 和 Ubuntu 用户可以使用 apt-get 软件包管理器安装最新稳定版本的 InfluxDB。

对于 Ubuntu/Debian 用户,使用以下命令添加 InfluxData 存储库

# influxdata-archive_compat.key GPG Fingerprint: 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
# influxdata-archive_compat.key GPG Fingerprint: 9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E
curl -s https://repos.influxdata.com/influxdata-archive_compat.key > influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list

然后,安装并启动 InfluxDB 服务

sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start

或者,如果您的操作系统正在使用 systemd(Ubuntu 15.04+,Debian 8+)

sudo apt-get update && sudo apt-get install influxdb
sudo systemctl unmask influxdb.service
sudo systemctl start influxdb

有关如何从文件安装 RPM 软件包的说明,请参阅下载页面

Red Hat 和 CentOS 用户可以使用 yum 软件包管理器安装最新稳定版本的 InfluxDB

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF

将存储库添加到 yum 配置后,通过运行以下命令安装并启动 InfluxDB 服务

sudo yum install influxdb
sudo service influxdb start

或者,如果您的操作系统正在使用 systemd(CentOS 7+,RHEL 7+)

sudo yum install influxdb
sudo systemctl start influxdb

openSUSE Build Service 为 SUSE Linux 用户提供了 RPM 软件包

# add go repository
zypper ar -f obs://devel:languages:go/ go
# install latest influxdb
zypper in influxdb

InfluxDB 是 FreeBSD 软件包系统的一部分。可以通过运行以下命令安装它

sudo pkg install influxdb

配置文件位于 /usr/local/etc/influxd.conf,示例位于 /usr/local/etc/influxd.conf.sample

通过执行以下命令启动后端

sudo service influxd onestart

要使 InfluxDB 在系统启动时启动,请将 influxd_enable="YES" 添加到 /etc/rc.conf

使用Homebrew 在 macOS 上安装 InfluxDB

brew update
brew install influxdb@1
使用 Homebrew 安装多个版本的 InfluxDB

使用 Homebrew 同时安装 InfluxDB 1.8 和 InfluxDB 2.0 可能会导致意外的路径和命名冲突。您始终可以通过指定完整路径来运行所需的版本

$ /usr/local/opt/influxdb/bin/influxd version
InfluxDB 1.11.8 (git: none) build_date: 2021-04-01T17:55:08Z
$ /usr/local/opt/influxdb@1/bin/influxd version
InfluxDB v (git: unknown unknown)

验证下载的二进制文件的真实性(可选)

为了增加安全性,请按照以下步骤使用 gpg 验证 InfluxDB 下载的签名。

(大多数操作系统默认包含 gpg 命令。如果 gpg 不可用,请参阅GnuPG 首页以获取安装说明。)

  1. 下载并导入 InfluxData 的公钥

    curl -s https://repos.influxdata.com/influxdata-archive_compat.key | gpg --import
    
  2. 通过将 .asc 添加到下载 URL,下载版本的签名文件。例如

    wget https://download.influxdata.com/influxdb/releases/influxdb-1.11.8-linux-amd64.tar.gz.asc
    
  3. 使用 gpg --verify 验证签名

    gpg --verify influxdb-1.11.8_linux_amd64.tar.gz.asc influxdb-1.11.8-linux-amd64.tar.gz
    

    此命令的输出应包括以下内容

    gpg: Good signature from "InfluxDB Packaging Service <support@influxdb.com>" [unknown]
    

配置 InfluxDB OSS

系统对每个配置文件设置都有内部默认值。使用 influxd config 命令查看默认配置设置。

注意: 如果 InfluxDB 部署在公共可访问的端点上,我们强烈建议启用身份验证。否则,数据将公开提供给任何未经身份验证的用户。默认设置启用身份验证和授权。此外,不应仅仅依赖身份验证和授权来防止恶意行为者访问和保护数据。如果需要额外的安全或合规性功能,则应在第三方服务之后运行 InfluxDB。查看身份验证和授权设置。

本地配置文件(/etc/influxdb/influxdb.conf)中的大多数设置都被注释掉了;所有注释掉的设置都将由内部默认值确定。本地配置文件中任何未注释的设置都会覆盖内部默认值。请注意,本地配置文件不需要包含每个配置设置。

有两种方法可以使用您的配置文件启动 InfluxDB

  • 通过使用 -config 选项将进程指向正确的配置文件

    influxd -config /etc/influxdb/influxdb.conf
    
  • 将环境变量 INFLUXDB_CONFIG_PATH 设置为您的配置文件的路径,然后启动该进程。例如

    echo $INFLUXDB_CONFIG_PATH
    /etc/influxdb/influxdb.conf
    
    influxd
    

InfluxDB 首先检查 -config 选项,然后检查环境变量。

有关更多信息,请参阅配置文档。

数据和 WAL 目录权限

确保存储数据和预写日志 (WAL) 的目录对于运行 influxd 服务的用户是可写的。

注意: 如果数据和 WAL 目录不可写,则 influxd 服务将无法启动。

运行 influxd 进程的用户应具有 InfluxDB 文件系统中目录的以下权限

目录路径权限
influxdb/755
influxdb/data/755
influxdb/meta/755
influxdb/wal/700

有关 datawal 目录路径的信息,请参阅数据设置部分中的配置 InfluxDB 文档。

在 AWS 上托管 InfluxDB OSS

InfluxDB 的硬件要求

我们建议使用两个 SSD 卷,一个用于 influxdb/wal,另一个用于 influxdb/data。根据您的负载,每个卷应具有大约 1k-3k 的预配置 IOPS。influxdb/data 卷应具有更大的磁盘空间和更低的 IOPS,而 influxdb/wal 卷应具有更小的磁盘空间和更高的 IOPS。

每台机器应至少具有 8GB RAM。

我们已经看到 R4 类机器的性能最佳,因为它们提供的内存比 C3/C4 类和 M4 类都多。

配置 InfluxDB OSS 实例

此示例假定您正在使用两个 SSD 卷,并且您已正确挂载它们。此示例还假定这些卷中的每个卷都挂载在 /mnt/influx/mnt/db。有关如何执行此操作的更多信息,请参阅 Amazon 文档,了解如何向您的实例添加卷

配置文件

您必须为您拥有的每个 InfluxDB 实例适当更新配置文件。

...

[meta]
  dir = "/mnt/db/meta"
  ...

...

[data]
  dir = "/mnt/db/data"
  ...
wal-dir = "/mnt/influx/wal"
  ...

...

[hinted-handoff]
    ...
dir = "/mnt/db/hh"
    ...

身份验证和授权

对于所有 AWS 部署,我们强烈建议启用身份验证。如果没有此功能,您的 InfluxDB 实例可能会公开提供给任何未经身份验证的用户。默认设置启用身份验证和授权。此外,不应仅仅依赖身份验证和授权来防止恶意行为者访问和保护数据。如果需要额外的安全或合规性功能,则应在 AWS 提供的其他服务之后运行 InfluxDB。查看身份验证和授权设置。

InfluxDB OSS 权限

当对 InfluxDB 数据和配置使用非标准目录时,还要确保正确设置文件系统权限

chown influxdb:influxdb /mnt/influx
chown influxdb:influxdb /mnt/db

对于 InfluxDB 1.7.6 或更高版本,您必须向 init.sh 文件授予所有者权限。为此,请在您的 influxdb 目录中运行以下脚本

if [ ! -f "$STDOUT" ]; then
    mkdir -p $(dirname $STDOUT)
    chown $USER:$GROUP $(dirname $STDOUT)
 fi

 if [ ! -f "$STDERR" ]; then
    mkdir -p $(dirname $STDERR)
    chown $USER:$GROUP $(dirname $STDERR)
 fi

 # Override init script variables with DEFAULT values

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版现已公开发布 Alpha 版本

InfluxDB 3 开源版现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们的新开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看