安装 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 首页以获取安装说明。)
下载并导入 InfluxData 的公钥
curl -s https://repos.influxdata.com/influxdata-archive_compat.key | gpg --import
通过将
.asc
添加到下载 URL,下载版本的签名文件。例如wget https://download.influxdata.com/influxdb/releases/influxdb-1.11.8-linux-amd64.tar.gz.asc
使用
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 |
有关 data
和 wal
目录路径的信息,请参阅数据设置部分中的配置 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
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供有关 InfluxDB 和本文档的反馈和错误报告。要查找支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。