安装与配置 #
一、系统要求 #
1.1 硬件要求 #
text
InfluxDB硬件要求:
最低配置
├── CPU:2核
├── 内存:1GB
├── 存储:10GB
└── 网络:100Mbps
推荐配置(生产环境)
├── CPU:4核+
├── 内存:8GB+
├── 存储:SSD 100GB+
└── 网络:1Gbps
高负载场景
├── CPU:8核+
├── 内存:16GB+
├── 存储:SSD 500GB+
└── 网络:10Gbps
1.2 软件要求 #
text
支持的操作系统:
Linux
├── Ubuntu 18.04+
├── Debian 10+
├── CentOS/RHEL 7+
├── Amazon Linux 2
└── Fedora 33+
容器
├── Docker 19.03+
├── Kubernetes 1.19+
└── Docker Compose 1.27+
其他
├── macOS 10.15+
└── Windows 10/Server 2019+
二、Docker安装(推荐) #
2.1 基础安装 #
bash
# 拉取镜像
docker pull influxdb:2.7
# 启动容器
docker run -d -p 8086:8086 \
--name influxdb \
-v influxdb-data:/var/lib/influxdb2 \
-v influxdb-config:/etc/influxdb2 \
influxdb:2.7
# 查看容器状态
docker ps | grep influxdb
# 查看日志
docker logs influxdb
2.2 完整配置 #
bash
# 创建持久化目录
mkdir -p /data/influxdb/{data,config}
# 启动容器(带持久化)
docker run -d \
--name influxdb \
-p 8086:8086 \
-v /data/influxdb/data:/var/lib/influxdb2 \
-v /data/influxdb/config:/etc/influxdb2 \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_USERNAME=admin \
-e DOCKER_INFLUXDB_INIT_PASSWORD=Admin@123 \
-e DOCKER_INFLUXDB_INIT_ORG=my-org \
-e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \
-e DOCKER_INFLUXDB_INIT_RETENTION=30d \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-token \
influxdb:2.7
2.3 Docker Compose部署 #
yaml
# docker-compose.yml
version: '3.8'
services:
influxdb:
image: influxdb:2.7
container_name: influxdb
ports:
- "8086:8086"
volumes:
- influxdb-data:/var/lib/influxdb2
- influxdb-config:/etc/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=admin
- DOCKER_INFLUXDB_INIT_PASSWORD=Admin@123
- DOCKER_INFLUXDB_INIT_ORG=my-org
- DOCKER_INFLUXDB_INIT_BUCKET=my-bucket
- DOCKER_INFLUXDB_INIT_RETENTION=30d
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-token
restart: unless-stopped
healthcheck:
test: ["CMD", "influx", "ping"]
interval: 30s
timeout: 10s
retries: 3
volumes:
influxdb-data:
influxdb-config:
bash
# 启动服务
docker-compose up -d
# 查看状态
docker-compose ps
# 停止服务
docker-compose down
三、Linux安装 #
3.1 Ubuntu/Debian #
bash
# 添加InfluxData仓库
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
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/ubuntu stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list
# 安装InfluxDB
sudo apt update
sudo apt install influxdb2
# 启动服务
sudo systemctl start influxdb
sudo systemctl enable influxdb
# 查看状态
sudo systemctl status influxdb
3.2 CentOS/RHEL #
bash
# 添加InfluxData仓库
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
# 安装InfluxDB
sudo yum install influxdb2
# 启动服务
sudo systemctl start influxdb
sudo systemctl enable influxdb
# 查看状态
sudo systemctl status influxdb
3.3 二进制安装 #
bash
# 下载二进制包
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.1-linux-amd64.tar.gz
# 解压
tar xzf influxdb2-2.7.1-linux-amd64.tar.gz
# 移动到系统目录
sudo mv influxdb2-2.7.1-linux-amd64 /opt/influxdb
# 创建数据目录
sudo mkdir -p /var/lib/influxdb2
sudo mkdir -p /etc/influxdb2
# 创建systemd服务
sudo cat <<EOF > /etc/systemd/system/influxdb.service
[Unit]
Description=InfluxDB
After=network.target
[Service]
Type=simple
ExecStart=/opt/influxdb/influxd
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start influxdb
sudo systemctl enable influxdb
四、macOS安装 #
4.1 Homebrew安装 #
bash
# 使用Homebrew安装
brew install influxdb
# 启动服务
brew services start influxdb
# 查看状态
brew services list
# 停止服务
brew services stop influxdb
4.2 手动安装 #
bash
# 下载
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.1-darwin-amd64.tar.gz
# 解压
tar xzf influxdb2-2.7.1-darwin-amd64.tar.gz
# 运行
./influxdb2-2.7.1-darwin-amd64/influxd
五、Windows安装 #
5.1 下载安装 #
powershell
# 下载安装包
Invoke-WebRequest -Uri "https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.1-windows-amd64.zip" -OutFile "influxdb2.zip"
# 解压
Expand-Archive influxdb2.zip -DestinationPath "C:\Program Files\InfluxDB"
# 运行
cd "C:\Program Files\InfluxDB"
.\influxd.exe
5.2 注册为服务 #
powershell
# 使用NSSM注册服务
nssm install InfluxDB "C:\Program Files\InfluxDB\influxd.exe"
# 启动服务
nssm start InfluxDB
六、初始化配置 #
6.1 Web界面初始化 #
text
初始化步骤:
1. 访问Web界面
└── http://localhost:8086
2. 点击 "Get Started"
3. 设置初始用户
├── Username:admin
├── Password:********
├── Confirm Password:********
└── Organization Name:my-org
4. 设置Bucket
├── Bucket Name:my-bucket
└── Retention Period:30 days
5. 保存Token
└── 复制生成的API Token
6.2 命令行初始化 #
bash
# 使用influx CLI初始化
influx setup \
--username admin \
--password Admin@123 \
--org my-org \
--bucket my-bucket \
--retention 720h \
--token my-super-secret-token \
--force
# 查看配置
influx config
# 测试连接
influx ping
七、配置文件详解 #
7.1 配置文件位置 #
text
配置文件位置:
Linux
├── /etc/influxdb2/config.toml
└── ~/.influxdbv2/configs
Docker
├── /etc/influxdb2/config.toml
└── 环境变量配置
Windows
├── C:\Users\<user>\.influxdbv2\configs
└── 命令行参数
7.2 配置示例 #
toml
# /etc/influxdb2/config.toml
# HTTP服务配置
[http]
bind-address = ":8086"
auth-enabled = true
log-enabled = true
# 存储配置
[storage]
data-path = "/var/lib/influxdb2/engine"
wal-path = "/var/lib/influxdb2/engine/wal"
# 日志配置
[logging]
level = "info"
format = "auto"
# 数据保留
[retention]
check-interval = "30m"
# 协调器配置
[coordinator]
write-timeout = "10s"
max-concurrent-queries = 0
# 监控配置
[monitor]
store-enabled = true
store-database = "_internal"
store-interval = "10s"
7.3 环境变量配置 #
bash
# 常用环境变量
# HTTP地址
INFLUXD_HTTP_BIND_ADDRESS=:8086
# 存储路径
INFLUXD_ENGINE_PATH=/var/lib/influxdb2/engine
# 日志级别
INFLUXD_LOG_LEVEL=info
# 会话长度
INFLUXD_SESSION_LENGTH=60
# 会话重用
INFLUXD_SESSION_RENEW_DISABLED=false
八、CLI工具配置 #
8.1 配置连接 #
bash
# 创建配置
influx config create \
--config-name my-config \
--host-url http://localhost:8086 \
--org my-org \
--token my-super-secret-token
# 列出配置
influx config list
# 切换配置
influx config set active my-config
# 删除配置
influx config delete my-config
8.2 常用命令 #
bash
# 查看版本
influx version
# 查看服务器状态
influx ping
# 查看Bucket列表
influx bucket list
# 查看组织列表
influx org list
# 查看用户列表
influx user list
九、安全配置 #
9.1 认证配置 #
bash
# 创建用户
influx user create \
--name developer \
--password Dev@123 \
--org my-org
# 创建Token
influx auth create \
--org my-org \
--read-bucket my-bucket \
--write-bucket my-bucket \
--description "读写Token"
# 查看Token
influx auth list
9.2 HTTPS配置 #
toml
# config.toml
[http]
bind-address = ":443"
auth-enabled = true
https-enabled = true
https-certificate = "/path/to/cert.pem"
https-private-key = "/path/to/key.pem"
9.3 防火墙配置 #
bash
# Ubuntu/Debian
sudo ufw allow 8086/tcp
# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=8086/tcp
sudo firewall-cmd --reload
十、验证安装 #
10.1 检查服务状态 #
bash
# 检查服务
curl -I http://localhost:8086/health
# 预期响应
HTTP/1.1 200 OK
Content-Type: application/json
10.2 写入测试数据 #
bash
# 写入数据
curl -X POST "http://localhost:8086/api/v2/write?org=my-org&bucket=my-bucket&precision=s" \
--header "Authorization: Token YOUR_TOKEN" \
--data-raw "temperature,location=room1 value=25.5"
# 查询数据
influx query 'from(bucket: "my-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "temperature")'
10.3 Web界面验证 #
text
验证步骤:
1. 打开浏览器
└── http://localhost:8086
2. 登录系统
└── 使用创建的用户名密码
3. 查看数据
└── Data Explorer → 选择Bucket
4. 检查状态
└── Load Data → Buckets
十一、常见问题 #
11.1 端口冲突 #
bash
# 查看端口占用
netstat -tlnp | grep 8086
# 修改端口
# 方法1:修改配置文件
[http]
bind-address = ":8087"
# 方法2:环境变量
INFLUXD_HTTP_BIND_ADDRESS=:8087
11.2 权限问题 #
bash
# 修改数据目录权限
sudo chown -R influxdb:influxdb /var/lib/influxdb2
# 修改配置文件权限
sudo chown influxdb:influxdb /etc/influxdb2/config.toml
11.3 内存不足 #
bash
# 检查内存使用
free -h
# 调整缓存大小
[storage]
cache-max-memory-size = 524288000
十二、总结 #
安装配置要点:
- 推荐Docker:简单快速,易于管理
- 持久化存储:确保数据安全
- 安全配置:启用认证,使用HTTPS
- 监控资源:关注内存和磁盘使用
- 备份配置:定期备份配置和数据
下一步,让我们学习Flux语法基础!
最后更新:2026-03-27