美文网首页程序员influxDB 原理与实践
「influxDB 原理与实践(一)」安装部署,实现基础的添加删

「influxDB 原理与实践(一)」安装部署,实现基础的添加删

作者: 源码之路 | 来源:发表于2020-06-23 16:47 被阅读0次

    我们使用稳定版本1.7.8。

    简介

    开源的时间序列数据库。什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间磁盘使用率、网络流量、CPU的使用率等。

    InfluxDB是一个开源的时间序列数据库,一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及执行分析。

    特性

    1、内置HTTP API,所以不用再写服务端代码来启动和运行。
    2、数据可以被标记,允许非常灵活的查询。
    3、类似SQL的查询语言
    4、安装和管理简单,数据输入和输出速度快
    5、它旨在实时响应查询。这意味着point数据写入即被索引并立即可供响应时间应小于100ms的查询使用。

    下载

    安装


    /usr/bin
    • influx:influxDB的命令行工具;
    • influxd:influxDB的服务器程序;
    • influx_inspect :influxDB的数据检查工具;
    • influx_stress:influxDB的压力测试工具;
    • influx_tsm : 数据库格式转换工具,将数据从b1或bz1格式转换为tsm1格式。

    启动

    进入/usr/bin目录下,启动命令
    ./influxd --config ../../etc/influxdb/influxdb.conf &

    命令介绍

    • influx
      • ./influx -version 查看版本号
      • ./influx -host 'hostname' 指定要连接的主机名
      • ./influx -port '端口号' 指定要连接的端口号
      • ./influx -socket 'unxi domani socket' 以UNIX域或socket方式连接
      • ./influx -database 'database name' 指定要连接的数据库名
      • ./influx -password 'password' 指定用于认证的密码
      • ./influx -username 'username' 指定用于认证的用户名
      • ./influx -ssl 启用HTTPS连接
      • ./influx -unsafeSsl:当使用HTTPS连接到集群时,不适用SSL验证
      • ./influx -execute 'command' 执行命令
      • ./influx -type 'influxql|flux':指定调用REPL时使用的查询语言
      • ./influx -format 'json|csv|column':指定服务器响应内容的格式
      • ./influx -precision 'rfc3339|h|m|s|ms|u|ns' 指定时间戳格式,默认格式为rfc3339
      • ./influx -consistency 'any|one|quorum|all':指定写入一致性级别
      • ./influx -pretty :以阅读友好的方式显示JSON格式的内容
      • ./influx -import 从之前的备份文件中还原备份数据
      • ./influx -pps 设置数据导入时每秒允许允许导入多少条时许数据。默认为0,不限制导入速率。
      • ./influx -path 需要还原的备份文件的存储路径
      • ./influx -compressed 设置为true时,表示支持导入压缩格式的备份文件。
    • influxd
      • 服务器守护进程
      • ./influxd --config "配置文件" 通过配置文件启动
      • ./influxd bakcup "位置" 数据备份
      • ./influxd config 显示默认的配置信息
      • ./influxd help 显示帮助信息
      • ./influxd restore "文件" 还原之前通过backup命令备份的数据
      • ./influxd run 运行程序,默认参数,可忽略
      • ./influxd version 显示版本信息
    • influx_inspect
      数据检查工具,可查看TSM文件格式的内容
      • ./influx_inspect deletetsm 批量删除原始TSM文件
      • ./influx_inspect dumptsi 显示tsi文件的底层细节信息
      • ./influx_inspect dumptsm 显示tsm1文件的底层细节
      • ./influx_inspect buildtsi从tsm1数据中生成tsi1索引信息
      • ./influx_inspect help 显示帮助信息
      • ./influx_inspect export 导出数据
      • ./influx_inspect report显示分片级别的数据信息
      • ./influx_inspect verify 验证TSM文件的完整性
      • ./influx_inspect verify-seriesfile 验证时序文件的完整性。
    • influx_stress
      压力测试工具。现在不推荐是使用了,推荐使用influx-stress和influxdb-comparisons。
    • influx_tsm
      数据格式转换工具



    配置文件

    //是否上报InfluxDB的配置信息到官网,true不上报
    reporting-disabled = true
    //RPC服务对应的地址,用于备份数据通信等,默认监听8088
    bind-address = "127.0.0.1:8088
    //meta节点的配置信息
    [meta]
    dir="/root/.influxdb/meta" #meta数据和Raft数据库的存储目录
    retention-autocreate=true #是否在创建数据库时创建默认保留策略autogen,默认为true
    logging-enabled = true #是否打开META日志

    //data节点配置



    //coordinator节点配置



    //retention节点配置



    //分片预创建配置

    //monitor配置



    //subscriber配置信息


    //http配置


    //logging配置

    //graphite配置




    //collectD配置

    //openTSDB配置



    //UDP协议配置



    //连续查询配置

    //TLS配置


    基础操作

    influxDB支持通过InfluxDB API和influx命令来操作,InfluxDB API是一种基于HTTP协议的REST API,推荐生产环境使用。influx命令行是一种类似于MySQL命令行的工具,推荐日常数据库管理中使用。为了方便演示,我们使用influx命令执行基础写入、查询操作。

    连接数据库

    首先启动命令行,连接到本地服务器,在安装目录的usr/bin目录下执行
    ./influx命令

    查看数据库

    通过show databases命令查看数据库


    新安装的InfluxDB没有数据记录,所以输出结果中只看到_internal

    创建数据库

    create database "数据库名字", 比如create database my

    选定数据库

    use 数据库名字

    插入操作

    通过insert命令向表my中插入一条有关cpu负载的时序数据记录。注意,逗号前后不能有空格。

    insert cpu_usage,host=server01,region=ch value=2
    //指定时间戳,不指定的话,系统将写入时间作为时间戳
    insert cpu_usage,host=server01,region=ch value=2 1592906727717942736
    //cpu_usage是表明,host、region是tag,value、name是值,最后是时间戳
    insert cpu_usage,host=server01,region=ch  value=2,name=zhongguo 1592906727717942736
    

    查看表名

    show measurements,查看数据库my中当前所有的表信息,与mysql不通的是,influxDB不需要提前创建表,当写入时序数据时,influxDB会自动创建新表。


    删除表

    drop measurement cpu_usage

    删除数据库

    drop database my 删除数据库my

    查询表信息

    select * from cpu_usage


    查询tag字段

    show tag keys

    显示field字段

    show field keys

    influxDB简单入门先介绍到这里,下一篇我们进一步学习。

    相关文章

      网友评论

        本文标题:「influxDB 原理与实践(一)」安装部署,实现基础的添加删

        本文链接:https://www.haomeiwen.com/subject/zdycfktx.html