M3DB集群安装笔记
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,介绍最简单的docker方式安装就不介绍了,这里讲一下我在装m3db单机多实例集群时遇到的问题和爬坑过程用途为了搭配exporter + prometheus + grafana使用,promethe
千家信息网最后更新 2025年11月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安全错误
数据库的锁怎样保障安全
对国家网络安全的看法
web服务器的防火墙
安恒信息网络安全人才
用友服务器连接配置怎么写
网络安全模式鼠标键盘无法使用
网络安全保护法的原因
锐思数据库贝塔值
怀化软件开发价格
有经验的网络技术人员经常
网络安全绘
聊城分销软件开发哪家做的好
靠谱的app软件开发公司
网络安全技术成果
血站的网络安全
传媒互联网科技简称
四川违反网络安全法第一案
怎么做测绘数据库
浪潮服务器的管理地址
黑魂三进不了服务器
图数据库分析技术
江北区便宜软件开发电话
服务器远程桌面灰色
河北大数据网络技术服务哪个好
满足个数据库
pc端软件开发实例
mysql数据库乱码问题
软件开发过程中的幂等性有哪些
if() 数据库
服务器数据流向
数据库虚拟点