互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑

上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性、数据读写、应用场景:

互联网级监控系统必备-时序数据库之Influxdb

本文中,我们介绍Influxdb数据库集群的搭建,同时分享一下我们使用集群遇到的坑!

一、环境准备

  1. 同一网段内,3个CentOS 节点,相互可以ping通
  2. 3个节点CentOS配置Hosts文件,相互可以解析主机名
  3. Azure 虚拟机启用root用户
  4. influxdb-0.10.3-1.x86_64.rpm
  5. 设置端口8083 8086 8088 8091例外

二、一步一步搭建Influxdb集群

1. 在各个节点的主机上配置Hosts文件,这样可以保证每个节点直接的互相通讯

2. 各个节点主机安装InfluxDB rpm,只是安装不启动Influxdb

3. 三个节点主机上依次 编辑Influxdb.conf文件(.etc/influxdb/influxdb.conf)

主要修改HostName、bind-address、http-bind-address三个选项

依次修改三个主机节点的配置文件

4. InfluxDB01机器上启动Influxdb

[[email protected] influxdb]# sudo service influxdb start

5. InfluxDB02上配置/etc/default/influxdb文件

加入influxdb01节点

INFLUXD_OPTS="-join influxdb01:8091"

6. InfluxDB02机器启动InfluxDB

[[email protected] default]# sudo service influxdb start

7. InfluxDB03上配置/etc/default/influxdb文件

加入influxdb01节点

INFLUXD_OPTS="-join influxdb01:8091"

8. InfluxDB03机器启动InfluxDB

[[email protected] default]# sudo service influxdb start

9.InfluxDB01上启动InfluxDB

Influx -host influxdb01

10. 查看Influxdb集群

三、Influxdb集群,我们遇到的坑

Influxdb集群模式下,数据在各个节点之间是同步的,即,我们可以选择任何一个节点写入,数据都可以再其他节点查询到。

搭建集群后,我们遇到的第一个问题就是数据不同步问题。其实,数据写入压力并不大!

数据不同步后重启集群,依然数据不同步。

数据写入时,必须是UTC时间,并且是Unix下的UTC时间格式。

批量写入的数据,有时候会很慢,原因是数据必须按时间降序排序好,再批量插入。

单机模式比集群模式稳定,同时最新的集群不开源了,商业版本支持。

多条批量写入的性能好,但是并发数有限制,批量数据的个数在1000以内最佳。

周国庆

2017/7/12

时间: 2024-10-30 16:20:31

互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑的相关文章

互联网级监控系统必备-时序数据库之Influxdb技术

时间序列数据库,简称时序数据库,Time Series Database,一个全新的领域,最大的特点就是每个条数据都带有Time列. 时序数据库到底能用到什么业务场景,答案是:监控系统. Baidu一下,互联网监控系统,大家会发现小米.饿了吗等互联网巨头都在用时序数据库实现企业级的互联网监控系统. 很多人会说,用Zabbix不就搞定了,其实不是这样的,简单的主机资源监控.网络监控.小规模的部署环境,Zabbix能搞定. 如果在IDC 上千台服务器环境下,分布式应用架构.各种中间件,这种情况下我们

互联网级监控平台之内存存储的设计和优化

上两篇文章我们介绍了时序数据库Influxdb在互联网级监控系统下的应用: 互联网级监控系统必备-时序数据库之Influxdb技术 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑 在我们监控平台V1.0和V2.0版本的演进过程中,设计上,我们在监控引擎端引入了内存存储的理念,即监控数据内存槽. 为什么需要一个内存存储来做监控数据的内存槽,它的应用场景是什么? 一. 从实际应用场景出发 首先,我们看一个实际的监控图表:配置中心服务的TPM 横轴是时间,纵轴是数值.每分钟一个点,当

亿级Web系统搭建:单机到分布式集群【转】

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制.在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决. Web负载均衡 Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要. 负载均衡的策略有很

亿级Web系统搭建:单机到分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制.在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决. Web负载均衡 Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要. 负载均衡的策略有很

架构设计:系统存储(18)——Redis集群方案:高性能

1.概述 通过上一篇文章(<架构设计:系统存储(17)--Redis集群方案:高可用>)的内容,Redis主从复制的基本功能和进行Redis高可用集群监控的Sentinel基本功能基本呈现给了读者.虽然本人并不清楚上一篇根据笔者实际工作经验所撰写的文章有什么重大问题,导致那么多朋友集体点踩而且截止目前又没有任何人愿意为笔者指出这些问题,但是这不会影响笔者继续学习.总结技术知识的热情.从这篇文章开始我们一起来讨论Redis中两种高性能集群方案,并且在讨论过程中将上一篇文章介绍的高可用集群方案结合

Windows 2012 系统搭建高可用故障转移集群

Windows 2012 系统搭建高可用故障转移集群 一.故障转移集群介绍 2 1.1 系统介绍 2 1.2 工作原理 2 二.实验目的 2 2.1 验证故障转移功能 2 2.2 验证高可用集群的可用性,以及支持的服务类型 2 三.实验原理 3 3.1 实验拓扑 3 3.2 实验环境设备 3 四.配置步骤 4 4.1 配置域服务器 4 4.2  iSCSI 虚拟存储配置 18 4.3 配置故障转移集群服务 45 4.4  验证集群 63 五.实验结果验证 68 5.1  验证故障转移 68 5.

互联网企业级监控系统——Open-Falcon

小米开发的,小米.金山云.美团.京东金融等公司在用. 简析运维监控系统:http://blog.csdn.net/puma_dong/article/details/51895063 Open-Falcon编写的整个脑洞历程:https://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=400225178&idx=1&sn=c98609a9b66f84549e41cd421b4df74d 有Open-Falcon图介绍:http://w

时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析

InfluxDB 的存储机制解析 本文介绍了InfluxDB对于时序数据的存储/索引的设计.由于InfluxDB的集群版已在0.12版就不再开源,因此如无特殊说明,本文的介绍对象都是指 InfluxDB 单机版 1. InfluxDB 的存储引擎演进 尽管InfluxDB自发布以来历时三年多,其存储引擎的技术架构已经做过几次重大的改动, 以下将简要介绍一下InfluxDB的存储引擎演进的过程. 1.1 演进简史 版本0.9.0之前 **基于 LevelDB的LSMTree方案** 版本0.9.0

Web系统搭建____单机到分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制.在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决. Web负载均衡 Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要. 负载均衡的策略有很