influxdb过期策略

SHOW RETENTION POLICIES ON db 命令显示过期策略

> SHOW RETENTION POLICIES ON dbname
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 168h0m0s 24h0m0s            1        true

duration代表多少时间后过期
shardGroupDuration 代表的是多长时间的数据放在同一个数据文件中
实际过期是按照数据文件为单位过期的, 比如上面的配置下一个数据文件中会含有2018-1-1 0:0:0 ~ 2018-1-1 23:59:59的数据,这个时间文件的过期时间就为2018-1-1 23:59:59+168h
所以shardGroupDuration不应该设置的太大,太小可能会影响性能

show shards 命令显示当前是所有shared数据文件和他们的过期时间

> show shards
name: _internal
id database  retention_policy shard_group start_time           end_time             expiry_time          owners
-- --------  ---------------- ----------- ----------           --------             -----------          ------
6  _internal monitor          6           2018-05-19T00:00:00Z 2018-05-20T00:00:00Z 2018-05-27T00:00:00Z 
7  _internal monitor          7           2018-05-20T00:00:00Z 2018-05-21T00:00:00Z 2018-05-28T00:00:00Z 
8  _internal monitor          8           2018-05-21T00:00:00Z 2018-05-22T00:00:00Z 2018-05-29T00:00:00Z 
10 _internal monitor          10          2018-05-22T00:00:00Z 2018-05-23T00:00:00Z 2018-05-30T00:00:00Z 
11 _internal monitor          11          2018-05-23T00:00:00Z 2018-05-24T00:00:00Z 2018-05-31T00:00:00Z 
14 _internal monitor          14          2018-05-24T00:00:00Z 2018-05-25T00:00:00Z 2018-06-01T00:00:00Z 
15 _internal monitor          15          2018-05-25T00:00:00Z 2018-05-26T00:00:00Z 2018-06-02T00:00:00Z 
16 _internal monitor          16          2018-05-26T00:00:00Z 2018-05-27T00:00:00Z 2018-06-03T00:00:00Z 

name: test
id database retention_policy shard_group start_time           end_time             expiry_time          owners
-- -------- ---------------- ----------- ----------           --------             -----------          ------
3  test   autogen          3           2018-05-14T00:00:00Z 2018-05-21T00:00:00Z 2018-05-28T00:00:00Z 
9  test   autogen          9           2018-05-21T00:00:00Z 2018-05-28T00:00:00Z 2018-06-04T00:00:00Z 
13 test   autogen          13          2050-01-24T00:00:00Z 2050-01-31T00:00:00Z 2050-02-07T00:00:00Z 
12 test   autogen          12          2262-04-07T00:00:00Z 2262-04-11T23:47:16Z 2262-04-18T23:47:16Z 

可以看到过期时间为end_time+duration

修改过期策略

ALTER RETENTION POLICY "autogen" ON db DURATION 15d REPLICATION 1 SHARD DURATION 1d DEFAULT

注意: 修改的策略只会影响新创建的share

创建过期策略

CREATE RETENTION POLICY "one_day_only" ON "NOAA_water_database" DURATION 23h60m REPLICATION 1 DEFAULT

注意:新创建了一个默认策略后所有的查询和插入默认是操作的新策略下的数据, 如果不指定策略查询会查询不到老数据

官方介绍 https://docs.influxdata.com/influxdb/v0.13/troubleshooting/frequently_encountered_issues/#missing-data-after-creating-a-new-default-retention-policy

电脑异常重启后meta文件损坏恢复

先从文件导出数据
influx_inspect export -datadir /data/data/influxdb2/data/  -waldir /data/data/influxdb2/wal/ -database xxx  -out /home/temp/xxx.dmp 
然后把清空 /data/data/influxdb
重启influx,数据库倍清空
inlux命令连接数据库
CREATE USER test WITH PASSWORD 'test' WITH ALL PRIVILEGES
退出inlux
influx -username 'xxx' -password 'xxx' -database 'xx' -import -path /home/temp/xxx.dmp
此条目发表在linux, 大数据分类目录。将固定链接加入收藏夹。

发表评论