M3DB集群安装笔记

2022-03-14 00:00:00 数据 集群 节点 安装 类似于

介绍

简单的docker方式安装就不介绍了,这里讲一下我在装m3db单机多实例集群时遇到的问题和爬坑过程

用途

为了搭配exporter + prometheus + grafana使用,prometheus暂不支持分片。使用federate方式来做的话,架构比较复杂

m3db的优点:

  • 可以分片,副本存储,这个比influxdb方案要好很多。
  • 可以数据聚合存储,可以对前期的数据进行抽样聚合压缩降低存储空间

m3db的缺点

  • 刚开源,资料比较少
  • 配置操作比较麻烦。与我接触到的MySQL,Redis, MongoDB安装方式不太一样,但与之前维护的NDIR系统略有相似之处

为甚么不使用其他的方案:

  • timescaleDB依赖PG数据库,安装和维护起来相对于我熟悉的MySQL差距很大。
  • InfluxDB分片功能收费
  • 其他的比较小众或者不同时支持数据读取和写入

架构

这里使用m3db官方网站上的架构图

  • m3db的seedNode和其他数据存储节点的区别在于其内置运行ETCD服务
  • etcd服务用于存储整个集群的元数据,类似于NDIR的zookeeper作用,也可也单独运行
  • coordinator相当于整个集群的入口,类似于NDIR的IndexDispatcher的作用,类似于MongoDB的mongos的作用

安装

架构

元数据

首先我们下载etcd,然后执行就可以,这里我们暂时不使用集群

nohup ./etcd &> /dev/null &

数据节点

这里附上个节点的配置文件,需要注意的地方我会在下面用注释的方式指出

  1. 相关文章