influxdb-cluster集群部署

一.部署环境

* InfluxDB集群节点数:mate服务至少3个节点,节点数越多,集群性能越高。

* 操作系统:支持的操作系统包括Linux、Windows和MacOS。

* CPU:至少2核4线程,主频越高越好。

* 内存:至少8GB内存,推荐16GB或以上。

* 存储:至少100GB的磁盘空间,推荐使用SSD或NVMe SSD存储

二.集群文件配置修改

|-----------------|---------------|
| ip地址 | 服务名称 |
| 192.168.110.110 | influxdb,meta |
| 192.168.110.111 | influxdb,meta |
| 192.168.110.118 | meta |

1.influxdb-meta.conf配置文件修改

meta至少三个节点修改配置比较简单

hostname = "192.168.110.110"

dir = "/data/var/lib/influxdb/meta"

hostname = "192.168.110.111"

dir = "/data/var/lib/influxdb/meta"

hostname = "192.168.110.118"

dir = "/data/var/lib/influxdb/meta"

2.influxdb.conf配置修改:红色为修改参数

influxdb-mate.conf每台只需要修改下面参数

hostname = "192.168.110.110"

[meta].

dir = "/data/var/lib/influxdb/meta"

第一个influx的配置influxdb.conf修改

hostname = "192.168.110.110"

[meta]

Directory where the cluster metadata is stored.

dir = "/data/var/lib/influxdb/meta"

[data]

dir = "/data/var/lib/influxdb/data"

wal-dir = "/data/var/lib/influxdb/wal"

wal-fsync-delay = "1ms"

index-version = "tsi1"

cache-max-memory-size = "48g"

cache-snapshot-memory-size = "4096m"

max-concurrent-compactions = 12

series-id-set-cache-size = 100

[coordinator]

max-select-point = 1000000

max-select-series = 1000000

[hinted-handoff]

The directory where the hinted handoff queues are stored.

dir = "/data/var/lib/influxdb/hh"

第二个influx的配置influxdb.conf修改

hostname = "192.168.110.111"

[meta]

Directory where the cluster metadata is stored.

dir = "/data/var/lib/influxdb/meta"

[data]

dir = "/data/var/lib/influxdb/data"

wal-dir = "/data/var/lib/influxdb/wal"

wal-fsync-delay = "1ms"

index-version = "tsi1"

cache-max-memory-size = "48g"

cache-snapshot-memory-size = "4096m"

max-concurrent-compactions = 12

series-id-set-cache-size = 100

[coordinator]

max-select-point = 1000000

max-select-series = 1000000

[hinted-handoff]

The directory where the hinted handoff queues are stored.

dir = "/data/var/lib/influxdb/hh"

三.集群构建启动

1.meta元数据集群的构建

启动meta集群(所有的mate节点上执行)

nohup influxd-meta -config /data/influxdb/etc/influxdb/influxdb-meta.conf > nohup.out 2>&1 &

在其中一个节点上执行

influxd-ctl add-meta 192.168.110.110:8091 influxd-ctl add-meta 192.168.110.111:8091 influxd-ctl add-meta 192.168.110.88:8091

2.influxdb集群服务

启动data服务(所有influx的数据节点上执行)

nohup influxd -config /data/influxdb/etc/influxdb/influxdb.conf > nohup.out 2>&1 &

将data节点加入集群(其中一个data节点上)

influxd-ctl add-data 192.168.10.110:8088 influxd-ctl add-data 192.168.10.111:8088

四.配置负载均衡

nginx配置参数如下

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - remote_user \[time_local] "$request" '

'$status body_bytes_sent "http_referer" '

'"http_user_agent" "http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

upstream influxdb {

server 192.168.110.110:8086;

server 192.168.110.111:8086;

}

server {

listen 8181;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

proxy_set_header Host $proxy_host;

proxy_pass http://influxdb/;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}

负载均衡测试

数据测试写入

curl -i -XPOST 'http://192.168.110.110:8181/influx/write?db=test' --data-binary 'mymeasurement,mytag=1 myfield=90'

数据查询

curl -XPOST "http://192.168.10.110:8181/influx/query?db=test" --data-urlencode "q=Select * from mymeasurement" --header "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjc5NjQyNTEyfQ.7mIPMjB60kFGFQuTSyf7KvYF921MkMmL662_icTfvRQ"

五.命令手册

influxd-meta config 显示所有meta的配置

influxd config 显示所有influxdata的配置

influx-ctl show 显示集群节点

create database iot_env_data

创建用户设置密码

create user iot_admin with password 'xxx1' with all privileges

相关推荐
DolphinScheduler社区13 分钟前
大数据调度组件之Apache DolphinScheduler
大数据
SelectDB技术团队14 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
panpantt3211 小时前
【参会邀请】第二届大数据与数据挖掘国际会议(BDDM 2024)邀您相聚江城!
大数据·人工智能·数据挖掘
青云交1 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
大数据·性能优化·impala·案例分析·代码示例·跨数据中心·挑战对策
soso19682 小时前
DataWorks快速入门
大数据·数据仓库·信息可视化
The_Ticker2 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
java1234_小锋2 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客2 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
我的运维人生2 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享
大数据编程之光2 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink