前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「influxDB 原理与实践(一)」安装部署,实现基础的添加删除查询功能

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

作者头像
源码之路
发布2020-09-04 10:17:03
2.3K0
发布2020-09-04 10:17:03
举报
文章被收录于专栏:源码之路源码之路

我们使用稳定版本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负载的时序数据记录。注意,逗号前后不能有空格。

代码语言:javascript
复制
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简单入门先介绍到这里,下一篇我们进一步学习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 特性
  • 下载
  • 安装
  • 启动
  • 命令介绍
  • 配置文件
  • 基础操作
    • 连接数据库
      • 查看数据库
        • 创建数据库
          • 选定数据库
            • 插入操作
              • 查看表名
                • 删除表
                  • 删除数据库
                    • 查询表信息
                      • 查询tag字段
                        • 显示field字段
                        相关产品与服务
                        云数据库 SQL Server
                        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档