M3DB集群安装笔记
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,介绍最简单的docker方式安装就不介绍了,这里讲一下我在装m3db单机多实例集群时遇到的问题和爬坑过程用途为了搭配exporter + prometheus + grafana使用,promethe
千家信息网最后更新 2025年02月16日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安全错误
数据库的锁怎样保障安全
网吧案情介绍青少年网络安全
宿豫软件开发项目管理
日常网络安全威胁
成都专业软件开发价格表
搭建行为管理服务器
企业数字化管理系统 服务器
数据库设计指的是什么设计
浙江通用软件开发现价
杭州鲲鹏系列服务器代理商
江西iphone服务器托管
搭建文件存储服务器端
恒生科技和恒生互联网区别
电子病历网络安全
科技风片头 科技感 互联网
c 数据库的读写操作
网络技术入门书
魔兽服务器查找角色
数据库原理sc是什么
数据库搜索生物信息学统计
HCNC网络技术实验指南
云服务器租用哪个公司好
jsp查询数据库路径图片
网络安全设备IDS指
克尔瑞数据库登录网址
关系型数据库学习难点
为什么会有网络安全企业
对数据库依赖对象
云终端服务器哪个好
中国工商银行软件开发中心合肥
数据库安全性考虑的因素