# huaweicloud-solution-building-a-high-availability-influxdb-cluster **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-a-high-availability-influxdb-cluster ## Basic Information - **Project Name**: huaweicloud-solution-building-a-high-availability-influxdb-cluster - **Description**: 该方案帮助您华为云上快速构建高可用InfluxDB集群。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-25 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于开源项目InfluxDB-Cluster构建,可以帮助您在华为云上快速部署InfluxDB-Cluster + 弹性负载均衡 ELB高可用时序数据库集群。InfluxDB-Cluster是InfluxDB的一个社区集群版本,它借鉴了InfluxDB早期版本的集群功能代码思路,具有可扩展、容灾、高可用等能力。ELB补充负载均衡的能力,统一对外服务的接口,完整实现了对外服务的高可用,适用于数据密集写入、访问频繁、业务可靠性要求较高的场景。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/building-a-high-availability-influxdb-cluster.html **架构图** --------------- ![方案架构](./document/building-a-high-availability-influxdb-cluster.png) **架构描述** --------------- 该解决方案会部署如下资源: #### 单机版 - 创建一台弹性云服务器 ECS,绑定EIP,用于部署 InfluxDB数据库,作为InfluxDB数据库的服务器对外提供服务。 - 创建一个弹性公网IP EIP,提供公网接入服务器的能力,实现对外提供服务。 #### 高可用版 - 创建两台弹性云服务器 ECS,用于部署 InfluxDB集群,作为InfluxDB-Cluster的服务器对外提供服务。 - 创建一个弹性负载均衡 ELB,并绑定EIP,提供负载均衡的能力以实现InfluxDB集群对外服务的高可用。 - 创建一个弹性公网IP EIP,提供公网接入集群的能力,实现集群对外提供服务。 **组织结构** --------------- ``` lua huaweicloud-solution-E-commerce-shop-based-magento ├── building-a-high-availability-influxdb-cluster.tf.json -- 资源编排模板 ├── userdata ├── install_influxdb_cluster.sh -- 脚本配置文件 ``` **开始使用** --------------- #### Linux 系统 *客户端访问集群* 1.安装InfluxDB客户端(CLI),以CentOS 7.6为例。 ``` InfluxDB 1.8.10: wget -c https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10.x86_64.rpm ``` 图1 下载influxdb1.8.10 ![下载influxdb1.8.10](./document/readme-image-001.png) ``` 在influxdb-1.8.10.x86_64.rpm所在目录下执行: yum install -y influxdb-1.8.10.x86_64.rpm ``` 图2 安装influxdb1.8.10 ![安装influxdb1.8.10](./document/readme-image-002.png) 2.在 "堆栈->资源" 中获取EIP。 - 部署高可用集群后获取EIP 图3 单击ELB ![单击ELB](./document/readme-image-003.png) 图4 获取EIP ![获取EIP](./document/readme-image-004.png) - 部署单机版后获取EIP 图5 单击ECS ![单击ECS](./document/readme-image-005.png) 图6 获取EIP ![获取EIP](./document/readme-image-006.png) 3.执行如下命令连接集群。 ``` influx -host $EIP -port $PORT 参数:高可用 EIP 是与ELB绑定,单机版是直接与服务器(ECS)绑定;端口 PORT 默认8086。 ``` 图7 连接数据库 ![连接数据库](./document/readme-image-007.png) 从[安装并使用 influx CLI](https://docs.influxdata.com/influxdb/v2/tools/influx-cli/?t=%3Cfont+style%3D%22vertical-align%3A+inherit%3B%22%3E%3Cfont+style%3D%22vertical-align%3A+inherit%3B%22%3ELinux%3C%2Ffont%3E%3C%2Ffont%3E)获取更多信息。 *Curl 命令访问集群* 1.通过如下命令访问集群。 ``` curl -G "http://EIP:8086/query?u=xxxx&p=xxxxxx" --data-urlencode "q=show databases" ``` 图8 访问数据库 ![curl 访问数据库](./document/readme-image-008.png) #### Windows系统 1.通过浏览器下载 [InfluxDBStudio-0.2.0](https://github.com/CymaticLabs/InfluxDBStudio/releases/download/v0.2.0-beta.1/InfluxDBStudio-0.2.0.zip),解压缩 InfluxDBStudio-0.2.0.zip。 图9 下载工具 ![下载InfluxDBStudio](./document/readme-image-009.png) 2.双击进入解压出来的文件夹InfluxDBStudio-0.2.0,然后双击运行influxDBStudio.exe。 图10 双击运行 ![双击运行influxDBStudio.exe](./document/readme-image-010.png) 3.依次单击 Connections -> Manage 打开创建连接的回话窗口(首次运行会自动弹出创建连接的窗口)。 图11 打开会话窗口 ![打开会话窗口](./document/readme-image-011.png) 图12 创建连接 ![创建连接](./document/readme-image-012.png) 图13 配置参数(EIP获取详见 Linux系统步骤二) ![配置参数](./document/readme-image-013.png) 图14 测试网络 ![测试网络](./document/readme-image-014.png) 图15 测试连接 ![测试连接](./document/readme-image-015.png) 图16 保存配置 ![保存配置](./document/readme-image-016.png) 图17 连接数据库 ![连接数据库](./document/readme-image-017.png) 图18 数据库连接成功 ![连接数据库](./document/readme-image-018.png)