大数据修炼之influxdb


官网
下载

概述

influxdb2.0时间序列平台是专门为收集、存储、处理和可视化度量和事件而构建的。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
在这里插入图片描述
在这里插入图片描述

概念

Point

由时间戳(time)、数据(field)、标签(tags)组成。
Point相当于传统数据库里的一行数据

Series

相当于是 InfluxDB 中一些数据的集合,在同一个 database 中,retention policy、measurement、tag sets 完全相同的数据同属于一个 series,同一个 series 的数据在物理上会按照时间顺序排列存储在一起。

Shard

Shard 在 InfluxDB 中是一个比较重要的概念,它和 retention policy 相关联。每一个存储策略下会存在许多 shard,每一个 shard 存储一个指定时间段内的数据,并且不重复,例如 7点-8点 的数据落入 shard0 中,8点-9点的数据则落入 shard1 中。每一个 shard 都对应一个底层的 tsm 存储引擎,有独立的 cache、wal、tsm file。

TICK技术栈
包括Telegraf, InfluxDB, Chronograf, Kapacitor
在这里插入图片描述
在这里插入图片描述

安装

docker-compose 安装

version: '3'
services:
  emqx:
    image: emqx/emqx
    container_name: emqx
    ports:
      - "1883:1883"
      - "8083:8083"
      - "8883:8883"
      - "8084:8084"
      - "18083:18083"

  influxdb:
    image: influxdb
    container_name: influxdb
    ports:
      - "8083:8083"
      - "8086:8086"
    restart: always

  chronograf:
    image: chronograf
    container_name: chronograf
    ports:
      - "8888:8888"
    restart: always

操作

创建库

> create database mmm
> use mmm;
Using database mmm
显示表
> show measurements;
创建表
> insert disk_free,hostname=server01 value=442221834240i
> drop measurement disk_free
> show retention policies on "db_name"
 
支持的类sql语句:
DELETE*
DROP MEASUREMENT*
EXPLAIN ANALYZE
SELECT (read-only)
SHOW DATABASES
SHOW MEASUREMENTS
SHOW TAG KEYS
SHOW TAG VALUES
SHOW FIELD KEYS

> insert disk_free,hostname=server01 value=442221834240i
>
> ;
> show measurements
name: measurements
name
----
disk_free
> select * from disk_free
name: disk_free
time                hostname value
----                -------- -----
1613728512535811588 server01 442221834240
> show users;
user admin
---- -----
> create user 'dmp' with password '123456'
ERR: error parsing query: found dmp, expected identifier at line 1, char 12
> create user "dmp" with password "123456"
ERR: error parsing query: found 123456, expected string at line 1, char 33
> create user "dmp" with password '123456'
> ;
> show users;
user admin
---- -----
dmp  false
> create user "dmp1" with password '123456' with all privileges;
> show users;
user admin
---- -----
dmp  false
dmp1 true

模式设计:

  • 写数据的位置: tags是有索引的,fields没有。
    经常查询的元数据存储在tags
    如果每个点含有不同的值,存储在fields
    数字类型存在fields
  • 避免太多的series
  • 使用推荐的命名方法
    避免关键字作为tag或field的名字
    避免一个tag或者field有相同的名字
    避免测量名是编码数据
    避免tag中含有多于一个的piece(原子)

disk_free 就是表名,hostname是索引(tag),value=xx是记录值(field),记录值可以有多个,系统自带追加时间戳

insert disk_free,hostname=server01 value=442221834240i 1435362189575692182

写数据

非代码:

  • telegraf(agent) Telegraf是Xdata的数据收集代理,用于收集和报告度量。它庞大的输入插件库和“即插即用”架构让您可以快速方便地从许多不同的来源收集度量。
  • Scrape data
    开发工具:
influx write \
  -b bucketName \
  -o orgName \
  -p s \
  'myMeasurement,host=myHost testField="testData" 1556896326'


influx write \
  -b bucketName \
  -o orgName \
  -p s \
  --format=lp
  -f /path/to/line-protocol.txt

influx write \
  -b bucketName \
  -o orgName \
  -p s \
  --format=csv
  -f /path/to/data.csv

查询

删除

retention policy:数据存储策略(默认策略为autogen)
InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的;

处理

在influxdb2.0中Task取代了1.x中的continuous queries。大部分的操作都是使用flux脚本语法

  • 定义Task
    定义数据源
    处理或转换数据
    定义目的地
// Task options
option task = {
    name: "cqinterval15m",
    every: 1h,
    offset: 0m,
    concurrency: 1,
}

// Data source
data = from(bucket: "example-bucket")
  |> range(start: -task.every)
  |> filter(fn: (r) =>
    r._measurement == "mem" and
    r.host == "myHost"
  )

data
  // Data transformation
  |> aggregateWindow(
    every: 5m,
    fn: mean
  )
  // Data destination
  |> to(bucket: "example-downsampled")

可视化

已安装chronograf,添加连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击explore
在这里插入图片描述
导入数据:
在这里插入图片描述

监控与高考

备份与恢复

优化写入的方式:

  • 批量写入 :最合理5000行
  • 按key对tags排序
  • 是由粗粒度的时间精度: influxdb默认写入按照纳秒的精度
  • 使用gzip压缩
  • NTP同步主机
  • 一个请求写多个数据点:每一行使用\n 分隔;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 尚硅谷大数据技术之cdh vmware是一个虚拟机镜像,用于学习和实践大数据技术。 CDH是Cloudera公司的一整套Hadoop生态系统的发行版,包含了Hadoop的核心组件如HDFS、MapReduce、YARN、Hive、HBase等,而尚硅谷大数据技术之cdh vmware是一个已经预装了CDH的虚拟机镜像,方便用户快速使用和学习。 VMware是一款虚拟化软件,可以在一台物理机上运行多个虚拟机,每个虚拟机都可以独立运行自己的操作系统和软件。尚硅谷将CDH预装在VMware中,方便用户在自己的电脑上运行一个基于CDH的虚拟机环境,进行大数据技术的学习和实践。 使用尚硅谷大数据技术之cdh vmware,用户无需自己配置和安装CDH,只需下载并导入到VMware中,即可快速启动CDH环境。这样可以节省用户的时间和精力,让用户更加专注于对CDH的学习和使用。 尚硅谷大数据技术之cdh vmware不仅提供了CDH的基础组件,还包含了一些附加工具和示例数据,帮助用户更好地理解和实践大数据技术。用户可以通过尚硅谷提供的教程和实验来学习和掌握CDH的各项功能和应用场景。 总而言之,尚硅谷大数据技术之cdh vmware是一个方便快捷的大数据技术学习工具,通过预装CDH在VMware中,用户可以轻松构建和管理自己的大数据环境,并进行实际操作和实践。 ### 回答2: 尚硅谷大数据技术之cdh vmware是一个基于VMware虚拟机的大数据解决方案。CDH是Cloudera公司提供的Hadoop生态系统的一个发行版,它包括了Hadoop、Hive、HBase、Spark等大数据处理工具和框架,可以支持大规模数据的存储和分析。 CDH VMWare是尚硅谷提供的一个预配置的CDH虚拟机镜像,使用VMware虚拟化技术,方便用户快速搭建和配置CDH集群环境。它提供了一个简单且易于理解的操作界面,使得用户可以快速上手,无需复杂的配置和搭建过程。 CDH VMWare 可以帮助用户实现以下目标: 1. 快速搭建大数据环境:CDH VMWare提供了一个预先配置好的大数据集群环境,用户只需要简单地导入该镜像文件,即可获得一个完整的CDH集群环境,大大减少了搭建和配置环境的时间和成本。 2. 学习和实践大数据技术:CDH VMWare提供了一个完整的CDH集群环境,用户可以在该环境中学习和实践各种大数据技术和工具,例如Hadoop、Hive、HBase等,帮助用户快速掌握大数据处理的方法和技巧。 3. 开发和测试大数据应用:CDH VMWare提供了一个完整的CDH集群环境,用户可以在该环境中开发和测试各种大数据应用程序,例如基于Hadoop的数据处理程序、基于Spark的数据分析程序等,帮助用户快速验证和调试应用程序的正确性和性能。 总之,尚硅谷大数据技术之CDH VMWare是一个方便快速的大数据解决方案,可以帮助用户快速搭建和配置CDH集群环境,学习和实践大数据技术,以及开发和测试大数据应用程序。 ### 回答3: 尚硅谷是一个IT培训机构,他们提供了大数据技术培训,其中包括了CDH和VMware。 CDH(Cloudera Distributed Hadoop)是一个开源的大数据解决方案,它提供了一个基于Apache Hadoop的完整平台。CDH集成了多个大数据工具和组件,如Hadoop、Spark、Hive和HBase等,使用户可以更加方便地进行大数据处理和分析。通过CDH,用户可以管理和处理大规模的数据集,进行数据存储、计算和查询等操作。 而VMware是一个虚拟化技术提供商,其产品包括VMware Workstation、VMware Fusion和VMware ESXi等。虚拟化技术允许用户在物理服务器上运行多个虚拟机,实现资源的合理利用和管理。在大数据领域,VMware虚拟化技术可以用来部署大数据集群,提供高可用性和灵活性。用户可以在虚拟机中安装CDH,并使用CDH进行大数据处理和分析。 尚硅谷的大数据技术之CDH VMware课程,通过理论和实践相结合的方式,帮助学员掌握CDH和VMware的基本概念、部署与管理技能,并能够运用它们进行大数据的处理和分析。在课程中,学员将会学习CDH和VMware的安装与配置,了解它们的架构和原理,学会使用CDH集群进行数据处理和分析,以及利用VMware虚拟化技术在CDH环境中搭建大数据集群。 通过尚硅谷的大数据技术之CDH VMware课程,学员能够全面了解CDH和VMware在大数据领域的应用,掌握相关技能,并在实际工作中灵活运用,从而有效地处理和分析大规模的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值