基础环境
- docker版本说明

bash
注意:从 Docker CE 版本开始,docker compose(注意中间没有横线)作为官方插件集成,
安装 Docker 时一并安装;
# 安装 Docker Compose 插件
sudo yum install -y docker-compose-plugin
# 验证安装(注意命令格式为 docker compose,无横线)
docker compose version
- docker-compose

- influxdb版本说明
参考网址:https://github.com/chengshiwen/influxdb-cluster/wiki
软件安装
- 编写docker-compose.yml集群配置文件
bash
name: "influxdb-cluster"
services:
influxdb-meta-01:
image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
container_name: influxdb-meta-01
hostname: influxdb-meta-01
restart: unless-stopped
volumes:
- ./meta/meta-01/data:/var/lib/influxdb
networks:
influxdb-cluster:
ipv4_address: 172.18.0.10
influxdb-meta-02:
image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
container_name: influxdb-meta-02
hostname: influxdb-meta-02
restart: unless-stopped
volumes:
- ./meta/meta-02/data:/var/lib/influxdb
networks:
influxdb-cluster:
ipv4_address: 172.18.0.11
influxdb-meta-03:
image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
container_name: influxdb-meta-03
hostname: influxdb-meta-03
restart: unless-stopped
volumes:
- ./meta/meta-03/data:/var/lib/influxdb
networks:
influxdb-cluster:
ipv4_address: 172.18.0.12
influxdb-data-01:
image: chengshiwen/influxdb:1.8.11-c1.2.0-data
container_name: influxdb-data-01
hostname: influxdb-data-01
ports:
- 8186:8086
restart: unless-stopped
volumes:
- ./data/data-01/data:/var/lib/influxdb
- ./data/data-01/conf/influxdb.conf:/etc/influxdb/influxdb.conf
networks:
influxdb-cluster:
ipv4_address: 172.18.0.13
influxdb-data-02:
image: chengshiwen/influxdb:1.8.11-c1.2.0-data
container_name: influxdb-data-02
hostname: influxdb-data-02
ports:
- 8286:8086
restart: unless-stopped
volumes:
- ./data/data-02/data:/var/lib/influxdb
- ./data/data-02/conf/influxdb.conf:/etc/influxdb/influxdb.conf
networks:
influxdb-cluster:
ipv4_address: 172.18.0.14
nginx:
image: nginx:latest
container_name: influxdb-nginx
restart: unless-stopped
ports:
- "8086:8086" # 对外暴露 8086 端口
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/influxdb.conf:ro
networks:
influxdb-cluster:
ipv4_address: 172.18.0.15
depends_on:
- influxdb-data-01
- influxdb-data-02
networks:
influxdb-cluster:
driver: bridge
ipam:
config:
- subnet: 172.18.0.0/24
- 切换至docker-compose.yml文件所在目录;执行docker compose up -d 运行命令执行镜像拉取并创建容器。。


注意:要持久化容器中的数据,请务必挂载所有 Meta 和 Data 节点的 /etc/influxdb 和 /var/lib/influxdb 目录。

bash
#启动容器
docker-compose up -d
# 关闭集群
docker-compose down
# 关闭集群,并清除数据
docker-compose down -v
初始化集群
bash
使用 docker exec 进入任意一个 **meta容器(必须是 meta 容器,不能使用 data 容器)**中执行
如下命令即可。
1.添加初始化meta节点
influxd-ctl add-meta influxdb-meta-01:8091
influxd-ctl add-meta influxdb-meta-02:8091
influxd-ctl add-meta influxdb-meta-03:8091
2.添加初始化data节点
influxd-ctl add-data influxdb-data-01:8088
influxd-ctl add-data influxdb-data-02:8088
3.查看集群信息
influxd-ctl show

常见问题汇总
- 拉取镜像出现失败,在运行docker compose 时出现
需要重新配置docker镜像加速器,切换至目录:/etc/docker,然后修改daemon.json文件

清除registry-mirrors节点下的配置信息,重新填写;Docker会优先从国内镜像源拉取,失败时才回退到官方源,从而有效缓解超时问题。
bash
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://dockerpull.org",
"https://docker.1panel.live"
]
}