InfluxDB是使用GO编写的一个开源的分布式时序数据库,无需外部依赖。 你肯定想知道什么是时序数据库? 时序数据库全称为时间序列数据库,时间序列数据库主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)数据,带时间标签的数据库也称为时间序列数据。在有时间的坐标中将这些数据连成线,往过去看可以看成维度报表,揭示其趋势性,规律性。
简单来说就是 一个与时间相关的数据库。 从DB-Engines Ranking of Time Series DBMS可以看出,现在排名第一的TSDB就是influxDB。
centos 安装 influxdb,很简单的。 1、将InfluxDB加入yum源
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF2、安装
#安装 sudo yum install -y influxdb3、influxdb的状态,启动,关闭 在linux中,systemctl 管理大多数服务,可以执行以下命令
systemctl status influxdb // 查看influxdb的状态 systemctl start influxdb // 启动influxdb服务 systemctl stop influxdb // 停止influxdb服务4、使用influx进入客户端
进入客户端之后,我们需要做简单的操作
show databases; 这里我有一个叫做devops的数据库。
create database test 这里新建一个test数据库
use test; 使用test数据库
disk_free就是measurement的名称,后面相当与属性值
我现在还没有办法访问web界面,还存在一些问题
别直接运行,你是运行不了的。 我就给出用到的接口代码吧。
这是InfluxDBImpl类的其中一个构造方法。
/** * Constructs a new {@code InfluxDBImpl}. * * @param url * The InfluxDB server API URL * @param username * The InfluxDB user name * @param password * The InfluxDB user password * @param okHttpBuilder * The OkHttp Client Builder */ public InfluxDBImpl(final String url, final String username, final String password, final OkHttpClient.Builder client) { this(url, username, password, client, ResponseFormat.JSON); }这是InfluxDBImpl类里面的查询接口。
/** * @param command the query command * @param database the database to query */ public Query(final String command, final String database) { this(command, database, false); }这是写的测试类,使用了junit。
@Test public void test(){ OkHttpClient client=new OkHttpClient.Builder() .connectTimeout(60, TimeUnit.SECONDS) //设置连接超时 .readTimeout(60, TimeUnit.SECONDS) //设置读超时 .writeTimeout(60,TimeUnit.SECONDS) //设置写超时 .retryOnConnectionFailure(true) //是否自动重连 .build(); InfluxDBImpl influxDB = new InfluxDBImpl("http://192.168.44.237:8086", "root", "root", client.newBuilder()); Query query = new Query("select * from disk_free", "devops"); QueryResult result = influxDB.query(query); QueryResult.Result oneResult = result.getResults().get(0); System.out.println("_______________________________________________________"); if (oneResult.getSeries() != null){ System.out.println(oneResult.getSeries().toString()); } System.out.println("_______________________________________________________"); }这是一些简单说明。
influxdb基本操作 CentOS 7下InfluxDB部署与使用入门 常用数据库排名及分类介绍
