安装与配置 #

一、系统要求 #

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

十二、总结 #

安装配置要点:

  1. 推荐Docker:简单快速,易于管理
  2. 持久化存储:确保数据安全
  3. 安全配置:启用认证,使用HTTPS
  4. 监控资源:关注内存和磁盘使用
  5. 备份配置:定期备份配置和数据

下一步,让我们学习Flux语法基础!

最后更新:2026-03-27