一,安装
# cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo[influxdb]name = InfluxDB Repository - RHEL \$releaseverbaseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stableenabled = 1gpgcheck = 1gpgkey = https://repos.influxdata.com/influxdb.keyEOF
2,
# yum -y install influxdb
3,
#service influxdb start
二,联网
默认情况下,InfluxDB使用以下网络端口:
- TCP端口8086用于通过InfluxDB的HTTP API进行客户端 - 服务器通信
- TCP端口8088用于RPC服务进行备份和恢复
三,硬件
1,两个SSD卷,一个为influxdb/wal,g 一个为influxdb/db
2,内存至少8G
四,权限
为InfluxDB数据和配置使用非标准目录时,请确保正确设置文件系统权限:
chown influxdb:influxdb /mnt/influxchown influxdb:influxdb /mnt/db
入门
influx1,创建一个数据库
create database controller
show database
注意:
点击回车后,会出现一个新的提示,而不会显示其他内容。在CLI中,这意味着该语句已执行,并且没有显示错误。如果出现问题,总是会显示错误。没有消息就是好消息!
不同的是SHOW DATABASES,大多数InfluxQL语句必须针对特定的数据库进行操作。您可以显式地为每个查询命名数据库,但CLI提供了一个便利的声明,USE <db-name>它将自动为将来的所有请求设置数据库。例如:
use controller
要使用CLI将单个时间序列数据点插入到InfluxDB中,请输入
INSERT
以下内容:
> INSERT cpu,host=serverA,region=us_west value=0.64>
一个带有测量名称
cpu
和标签的点
host
,
region
现在已经被写入到数据库中
value
了
0.64
。
现在我们将查询刚才写的数据:
> SELECT "host", "region", "value" FROM "cpu"name: cpu---------time host region value2015-10-21T19:28:07.580664347Z serverA us_west 0.64
>
注意:
我们在写点时没有提供时间戳。当一个点没有提供时间戳时,InfluxDB在点摄取时分配本地当前时间戳。这意味着你的时间戳会有所不同。
让我们尝试存储另一种类型的数据,在相同的测量中有两个字段:
> INSERT temperature,machine=unit42,type=assembly external=25,internal=37>
要使用查询返回所有字段和标签,可以使用该
*
运算符:
> SELECT * FROM "temperature"name: temperature-----------------time external internal machine type2015-10-21T19:28:08.385013942Z 25 37 unit42 assembly
>
备份
InfluxDB能够在一个时间点快照一个实例并恢复它。所有备份都是完全备份。InfluxDB不支持增量备份。有两种类型的数据要备份,即Metastore和度量标准本身。这个
metastore
是完全备份的。度量标准是在单独的操作中从元数据备份中按数据库进行备份的。
备份Metastore
InfluxDB的Metastore包含有关系统状态的内部信息,包括用户信息,数据库/分片元数据,CQ,RP和订阅。在节点正在运行时,您可以通过运行以下命令来创建实例的Metastore的备份:
influxd backup <path-to-backup>
哪里
path-to-backup
可以替换你想要写入备份的目录。如果没有其他参数,备份将只记录系统元数据的当前状态。
备份数据库
每个数据库都必须单独备份。
要备份数据库,您需要添加
-database
标志:
influxd backup -database <mydatabase> <path-to-backup>
mydatabase你想要备份的数据库的名称在哪里,以及
path-to-backup
备份数据应该存储在哪里。
远程备份
从远程节点捕获备份:
2.
将
bind-address
设置更新为
<remote-node-IP>:8088
3.
从本地节点运行以下命令:
$ influxd backup -database mydatabase -host <remote-node-IP>:8088 /tmp/mysnapshot