InfluxDB:Centos 7 安装 influxdb,简单java demo

一、Introduce(简介)

InfluxDB是使用GO编写的一个开源的分布式时序数据库,无需外部依赖。
你肯定想知道什么是时序数据库?
时序数据库全称为时间序列数据库,时间序列数据库主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)数据,带时间标签的数据库也称为时间序列数据。在有时间的坐标中将这些数据连成线,往过去看可以看成维度报表,揭示其趋势性,规律性。

简单来说就是 一个与时间相关的数据库。
在这里插入图片描述
DB-Engines Ranking of Time Series DBMS可以看出,现在排名第一的TSDB就是influxDB。

二、Install(安装)

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
EOF

2、安装

#安装
sudo yum install -y influxdb

3、influxdb的状态,启动,关闭
在linux中,systemctl 管理大多数服务,可以执行以下命令

systemctl status influxdb  // 查看influxdb的状态
systemctl start influxdb  // 启动influxdb服务
systemctl stop influxdb  // 停止influxdb服务

在这里插入图片描述

4、使用influx进入客户端

三、Operation(操做)

进入客户端之后,我们需要做简单的操作

1、(show databases)查看数据库

show databases;
这里我有一个叫做devops的数据库。
在这里插入图片描述

2、(create database)创建数据库

create database test
这里新建一个test数据库
在这里插入图片描述

3、(use databases)使用数据库

use test;
使用test数据库
在这里插入图片描述

4、(insert measurement)创建所谓的表

use test;
insert disk_free,host=127.0.0.1,monitor_name=test count=1;
select * from disk_free;

disk_free就是measurement的名称,后面相当与属性值
在这里插入图片描述

四、Web site(web界面)

我现在还没有办法访问web界面,还存在一些问题

五、Through Java Operation(通过java操作)

别直接运行,你是运行不了的。
我就给出用到的接口代码吧。

这是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("_______________________________________________________");
    }

这是一些简单说明。
在这里插入图片描述

六、Reference Source(参考)

influxdb基本操作
CentOS 7下InfluxDB部署与使用入门
常用数据库排名及分类介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值