InfluxDb 1.8安装及整合SpringBoot

InfluxDb 1.8安装及整合SpringBoot

  由于1.x 和2.x 版本差异很大,不管是在语法结构上还是在命令行的使用上。为了兼顾学习成本以及使用成本,InfluxDb采用1.8.x的版本,1.x的版本可以像使用sql语句一样丝滑的使用InfluxDb。

一、安装部署(centos7)

1、获取安装包
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4.x86_64.rpm
2、安装
yum localinstall influxdb-1.8.4.x86_64.rpm
3、配置用户名密码(非必须)
vim /etc/influxdb/influxdb.conf

在这里插入图片描述
在客户端工具窗口中执行以下语句

# 创建管理员权限的用户
CREATE USER root WITH PASSWORD 'root' WITH ALL PRIVILEGES
4、启动服务
systemctl start influxdb
5、验证
[root@Server01 ~]# influx -username root -password root
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
> 

二、与SpringBoot整合

1、添加依赖
<!--influxdb-->
 <dependency>
     <groupId>com.influxdb</groupId>
     <artifactId>influxdb-client-java</artifactId>
     <version>2.3.0</version>
 </dependency>
2、添加配置
#influxDb
#连接地址
spring.influx.url=http://192.168.63.3:8086
#用户名
spring.influx.user=root
#密码
spring.influx.password=root
#数据库
spring.influx.database=iot
#持久化策略
spring.influx.retentionPolicy=""
3、开启influx功能

在这里插入图片描述

4、编写测试类
@Data
@ConfigurationProperties(prefix = "spring.influx")
@Component
public class InfluxDbConfig {
    private String username;
    private String password;
    private String url;
    private String database;
    private String retentionPolicy;

    @Bean
    public InfluxDBClient init() {
        return InfluxDBClientFactory.createV1(url,username,password.toCharArray(),database,retentionPolicy);
    }
}
public static void queryExampleUseingInfluxDBClient() {
		@Autowired
		private InfluxDBClient client;

		System.out.println("*** Write Points ***");
		
		// 2.创建写入api
		try (WriteApi writeApi = client.getWriteApi()) {
			Point point = Point.measurement("tests").addTag("test_id", "value").addField("value", 20);
			// 执行写入操作
			writeApi.writePoint(point);
		}
		// 执行查询操作
		System.out.println("*** Query Points ***");
		String query = String.format("from(bucket: \"%s\") " 
				+ " |> range(start: -3h, stop: 3h) " 
				+ " |> filter(fn: (r) => r[\"_measurement\"] == \"%s\")","iot","tests");
		List<FluxTable> tables = client.getQueryApi().query(query);
		tables.get(0).getRecords().forEach(record -> System.out.println(String.format("%s %s: %s %s", record.getTime(),
				record.getMeasurement(), record.getField(), record.getValue())));

		client.close();
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zerooooooooooooooooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值