InfluxDB Enterprise集群安装实验01-简介

InfluxDB Enterprise集群安装实验01-简介

前言

近期公司打算采购InfluxDB的企业版集群,正好抽空自己搭一套练练手,测试下基本功能。

实验环境

操作系统:CentOS Linux release 7.3.1611 (Core)
influxdb版本:1.7.9

机器:

机器名 ip
influxdb01 10.11.100.73
influxdb02 10.11.100.74
influxdb03 10.11.100.75

前置条件

1.秘钥配置要求

influxdb的秘钥配置有license key和license file两种方式,如果使用license key进行秘钥验证,则必须保证所有节点都能访问门户网站portal.influxdata.com的80端口或443端口。如果超过4小时无法连接到门户网站将导致秘钥验证失败的问题,整个集群将不可用。
注意:个人建议在生产中使用license file的验证方式,可以避免由于外部网络波动导致的集群故障

2.确保各主机的连接

集群中的所有机器需要确保主机名与ip的相互解析,并确保网络通畅。

在所有机器的hosts文件加上主机名:

[root@influxdb01 opt]# cat /etc/hosts
10.11.100.73    influxdb01
10.11.100.74    influxdb02
10.11.100.75    influxdb03

默认配置下,需要确保所有节点的端口8086,8088,8089,8091的通畅。

3.时间同步

InfluxDB Enterprise使用各个主机的utc本地时间作为数据分配时间戳来达到协调的目的。需要使用ntp来使各个主机时间同步。

4.硬盘需求

InfluxDB Enterprise要求硬盘具有1000-2000 IOPS,否则集群将会有IOPS争用的相关问题。建议使用ssd。

架构

1.架构概述

Influxdb集群由三部分组成: data nodes(数据节点),meta nodes(元节点),Enterprise web server(web服务器组成)。
可以将其看作是两个相互通信的独立集群,一个元节点集群和一个数据节点。
元节点数目必须为奇数,以确保仲裁生效。同时为了确保高可用性,最好使用3个元节点,这样如果一个元节点损坏,集群仍可与其余2个元节点一起运行,直到替换第三个元节点为止。过多的元节点会导致成倍增加的通信开销,因此不建议使用过多的元节点。官方建议是3个。
数据节点最小数目为1。一般需要根据复制因子(replication factor)来设定,例如复制因子为2,就需要运行2的倍数个数据节点。
架构图如下:
InfluxDB Enterprise集群安装实验01-简介元节点默认通过端口8089来实现内部访问,通过端口8091来实现外部访问。
数据节点默认通过端口8088来实现内部访问,通过端口8091来访问元节点。
在集群中,所有元节点必须能与其他元节点通信。而所有数据节点必须能与其他数据节点和所有元节点通信。

2.meta nodes(元节点)

元节点保存以下所有元数据:

  • 集群中的所有节点及其角色信息
  • 群集中的所有数据库信息和保留策略(retention policies)
  • 所有分片和分片组,以及其所在节点
  • 集群用户及其权限
  • 所有连续查询(continuous queries)

元节点会将这些数据保存在其raft库中,默认存储路径为:/var/lib/influxdb/meta/raft.db

3.data nodes(数据节点)

数据节点保存所有原始时间序列数据和元数据,包括:

  • measurements(类似于表)
  • 标记(tag)键和值
  • 字段(field)键和值

数据节点会将数据按照/<retention_policy>/<shard_id>的格式存储,默认存储路径为:/var/lib/influxdb/data

InfluxDB Enterprise集群安装实验01-简介InfluxDB Enterprise集群安装实验01-简介 aladdin_sun 博客专家 发布了129 篇原创文章 · 获赞 52 · 访问量 32万+ 私信 关注
上一篇:性能测试 -- docker安装influxdb


下一篇:c++的用处