M3DB集群安装笔记
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,介绍最简单的docker方式安装就不介绍了,这里讲一下我在装m3db单机多实例集群时遇到的问题和爬坑过程用途为了搭配exporter + prometheus + grafana使用,promethe
千家信息网最后更新 2025年02月07日M3DB集群安装笔记
介绍
最简单的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 &
数据节点
这里附上第一个节点的配置文件,需要注意的地方我会在下面用注释的方式指出
coordinator: listenAddress: type: "config" value: "0.0.0.0:7201" # 交互端口 local: namespaces: - namespace: default # 数据要存入的表 type: unaggregated # 数据类型 retention: 48h # 数据保存时间 metrics: # coordinator本身的metric scope: prefix: "coordinator" prometheus: handlerPath: /metrics listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved sanitization: prometheus samplingRate: 1.0 extended: none tagOptions: # Configuration setting for generating metric IDs from tags. idScheme: quoted # 这个必须db: logging: level: info metrics: prometheus: handlerPath: /metrics sanitization: prometheus samplingRate: 1.0 extended: detailed hostID: # 这里实测后,其实可以理解为nodeID resolver: config # 单机多实例,这里必须设置为config,从文件中读取 value: node1 # 这个实例的Id config: # config段的配置都是和etcd相关的 service: env: default_env zone: embedded service: m3db # 服务名。可以按照consul中的service进行理解 cacheDir: /data1/m3db/cache etcdClusters: - zone: embedded endpoints: - 127.0.0.1:2379 listenAddress: 0.0.0.0:9000 clusterListenAddress: 0.0.0.0:9001 httpNodeListenAddress: 0.0.0.0:9002 httpClusterListenAddress: 0.0.0.0:9003 debugListenAddress: 0.0.0.0:9004 client: writeConsistencyLevel: majority # 写一致性级别 readConsistencyLevel: unstrict_majority gcPercentage: 100 writeNewSeriesAsync: true writeNewSeriesLimitPerSecond: 1048576 writeNewSeriesBackoffDuration: 2ms bootstrap: bootstrappers: # 启动顺序 - filesystem - commitlog - peers - uninitialized_topology fs: numProcessorsPerCPU: 0.125 cache: series: policy: lru postingsList: size: 262144 commitlog: flushMaxBytes: 524288 flushEvery: 1s blockSize: 10m queue: calculationType: fixed size: 2097152 fs: filePathPrefix: /data1/m3db # m3dbnode数据目录
数据
存储
集群
方式
架构
作用
实例
节点
服务
配置
单机
文件
方案
支持
运行
复杂
很大
相似
一致
一致性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
泗洪龙飞软件开发工作室
魔兽怀旧服务器多少个
提高服务器开机速度
网络安全执法技术是做什么
成都机器视觉软件开发
福建工程项目管控软件开发平台
软件开发和设计那个难
财务办公室服务器
kafka服务器配置文件
服务器随机文件有哪些
常州途畅互联网科技有限公司
转系计算机网络技术申请书
百态网络技术服务
怎么把mysql数据库地址
主备份服务器的实现
信科专业考研考软件开发与测试
明基医院网络安全招标
华为nce管理服务器
浅析保险科技对互联网保险的影响
网络安全志愿者报名审核需要多久
软件开发复试会提哪些问题
吴忠市软件开发公司报价多少
网络安全知识100
网络安全知识的动画
中国网络安全母服务器
数据库的日期时间类型名是什么
网络配置错误无法连接到服务器
广州亚马逊网络技术有限公司
明基医院网络安全招标
电脑服务器一直断开又连接