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的倍数个数据节点。
架构图如下:
元节点默认通过端口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
aladdin_sun 博客专家 发布了129 篇原创文章 · 获赞 52 · 访问量 32万+ 私信 关注