influxdb是一个时间序列数据库。centos下载和安装命令
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.2.x86_64.rpm
sudo yum localinstall influxdb-1.2.4.x86_64.rpm
service influxdb start // 启动
netstat -an | grep 8086
netstta -an | grep 8088
如果这两个端口都启动则表示influxdb启动成功。influxdb的管理端口8083在1.2.4默认是关闭的,需要手动配置下才能访问。
配置文件默认为/etc/influxdb/influxdb.conf。可以配置端口号,控制管理台。数据存储目录。
#是否上报。默认允许上报,可能类似于windows的采集用户数据
reporting-disabled = true
#集群数据通信端口。全局配置
bind-address = ":8088"
#meta
dir = "/var/lib/influxdb/meta"
#时间序列数据
dir = "/var/lib/influxdb/data"
写数据和查数据官网有例子比较简单。 https://docs.influxdata.com/influxdb/v1.2/introduction/installation/。
写数据需要注意的地方是时间序列单位是UTC纳秒,刚开始在这绕了很大一圈,写数据可以成功但是查询不到,因为时间不对。java并没有直接获UTC纳秒的方法,只有 System.currentTimeMillis()获取毫秒的方法。其实根据毫秒和纳秒的换算单位,直接在 System.currentTimeMillis()加六个0就可以。考虑到实际会有并发写入的情况,一毫秒内可能会有相同的数据写入,可以把6位0改成加6位的随机数。进一步减少并发带来的数据冲突。