上一篇我们了解了 InfluxDB 的基础概念,现在该动手搭建一个真正能用的 InfluxDB 环境了。别担心,整个过程比你想象的要简单得多。
InfluxDB 提供了多种安装方式,每种都有自己的适用场景。

如果你的机器上有Docker,这绝对是最省心的方式。一条命令就能跑起来,而且环境隔离,不会污染你的系统。
sh# 拉取InfluxDB镜像
docker pull influxdb:2.7
# 创建数据目录
mkdir -p /opt/influxdb/data
mkdir -p /opt/influxdb/config
# 启动InfluxDB容器
docker run -d \
--name influxdb \
-p 8086:8086 \
-v /opt/influxdb/data:/var/lib/influxdb2 \
-v /opt/influxdb/config:/etc/influxdb2 \
influxdb:2.7
这样就启动了一个 InfluxDB 实例,Web 界面可以通过 http://localhost:8086 访问。
如果你更喜欢传统的安装方式,可以直接安装到系统里。
官网下载地址:https://www.influxdata.com/downloads/

influxdb分为 1.0 2.0 3.0 三个大版本,选择对应的大版本 然后选择对应的操作系统类型后会自动显示对应的下载模板。
CentOS 安装:
sh# 添加仓库配置
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
# 安装InfluxDB
sudo yum install influxdb2
InfluxDB 初始化配置完整流程,从服务启动到配置完成的详细步骤,包括Web界面和命令行两种方式

安装完成后,打开浏览器访问 http://localhost:8086 你会看到 InfluxDB 的初始化页面。
第一次访问需要设置:
这些信息填好后,InfluxDB 会自动生成一个API Token,记得保存好,后面会用到。
如果你更喜欢命令行,也可以用 Influx CLI 工具:
sh# 初始化设置
influx setup \
--username admin \
--password mypassword123 \
--org mycompany \
--bucket mybucket \
--force
这样就完成了基础配置。
InfluxDB 配置文件层次结构,展示主要配置模块及其关键参数设置

InfluxDB 的配置文件通常在 /etc/influxdb2/config.yml(Linux)或者 Docker容器的 /etc/influxdb2/ 目录下。
yaml# HTTP服务配置
http-bind-address: ":8086"
https-enabled: false
# 数据存储路径
engine-path: "/var/lib/influxdb2/engine"
bolt-path: "/var/lib/influxdb2/influxd.bolt"
# 日志配置
log-level: info
# 查询配置
query-concurrency: 1024
query-queue-size: 1024
# 存储配置
storage-cache-max-memory-size: 1073741824 # 1GB
storage-cache-snapshot-memory-size: 26214400 # 25MB
根据你的硬件配置,可以调整这些参数:
yaml# 内存相关
storage-cache-max-memory-size: 2147483648 # 2GB,根据可用内存调整
storage-wal-max-concurrent-writes: 128
# 并发相关
query-concurrency: 512 # 根据CPU核心数调整
http-read-header-timeout: "10s"
http-read-timeout: "0"
http-write-timeout: "0"
InfluxDB 安全配置要点,包括用户认证、HTTPS加密、API令牌管理、网络安全和数据保护等关键安全措施

生产环境建议启用 HTTPS:
yamlhttps-enabled: true
https-certificate: "/path/to/certificate.crt"
https-private-key: "/path/to/private.key"
如果没有证书,可以生成自签名证书:
shopenssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
创建不同权限的用户:
sh# 创建只读用户
influx user create \
--name readonly \
--password readonlypass123 \
--org mycompany
# 创建写入用户
influx user create \
--name writer \
--password writerpass123 \
--org mycompany
InfluxDB 安装验证完整流程,从服务状态检查到功能测试的系统化验证步骤

sh# 检查服务是否运行
sudo systemctl status influxdb
# 检查端口是否监听
netstat -tlnp | grep 8086
# 检查版本信息
influx version
用命令行工具测试一下数据写入:
sh# 设置环境变量
export INFLUX_TOKEN="your-token-here"
export INFLUX_ORG="mycompany"
export INFLUX_BUCKET="mybucket"
# 写入测试数据
influx write \
--bucket mybucket \
--org mycompany \
--token $INFLUX_TOKEN \
'temperature,location=room1 value=23.5'
sh# 查询刚才写入的数据
influx query \
--org mycompany \
--token $INFLUX_TOKEN \
'from(bucket:"mybucket") |> range(start:-1h)'
如果能看到刚才写入的数据,说明安装配置成功了。
如果8086端口被占用,可以修改配置文件:
yamlhttp-bind-address: ":8087" # 改成其他端口
确保InfluxDB进程有权限访问数据目录:
shsudo chown -R influxdb:influxdb /var/lib/influxdb2
sudo chmod -R 755 /var/lib/influxdb2
如果机器内存较小,可以降低缓存大小:
yamlstorage-cache-max-memory-size: 536870912 # 512MB
确保数据目录正确挂载:
shdocker run -d \ --name influxdb \ -p 8086:8086 \ -v /opt/influxdb/data:/var/lib/influxdb2 \ --restart unless-stopped \ influxdb:2.7
现在你已经有了一个可以正常工作的InfluxDB环境。接下来可以:
记住,InfluxDB 的强大之处在于它对时间序列数据的优化,合理的配置能让你的系统运行得更稳定、更高效。
本文作者:柳始恭
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!