InfluxDB下载安装教程
- 一、简介
- 二、【linux】InfluxDB下载安装配置
- 2.1 下载安装
- 2.1.1 apt在线安装
- 2.1.2 离线安装
- 2.2 配置及启动
- 3、windows 下的安装方式
- 4、InfluxDB基本使用
- 4.1 创建用户
- 4.2 数据库
回到目录
一、简介
InfluxDB是一个由InfluxData开发的开源时序型数据库。它使用Go语言编写,专注于高性能地查询与存储时序型数据。时序数据是指与时间相关的数据,如系统监控、IoT设备读数等。InfluxDB是一个功能强大且灵活的时序数据库,适用于需要处理和分析时间序列数据的各种应用场景,如存储系统的监控数据、物联网行业的实时数据等。
InfluxDB具有三大核心特性:
- 时间序列:允许用户通过时间相关函数(如最大、最小、求和等)来查询和操作数据。
度量:可以实时对大量数据进行计算,这使得InfluxDB在需要快速响应和实时分析的场景中特别有用。 - 事件:它支持任意的事件数据,提供了更广泛的适用性。
- 此外,InfluxDB还提供了自定义的高性能数据存储,专为时间序列数据设计。这使得它能够在毫秒级别记录数据,如电脑内存使用情况等,并通过图形化界面(如配合Grafana)创建数据图表和统计。
InfluxDB和TDengine的差异分析
:
InfluxDB和TDengine都是时序数据库,但它们在多个方面存在显著差异。以下是对这两个数据库的详细对比:
- 性能:TDengine在性能上表现优异。其写入性能相比InfluxDB快约5倍,读取性能约为35倍,聚合函数性能约为140倍,按标签分组查询性能约为250倍,按时间分组查询性能约为12倍。这意味着在处理大量时序数据时,TDengine能够更快速地完成数据的写入、读取和查询操作。
- 数据模型:InfluxDB使用的是标签-值数据模型,每个数据点都有一个标签和一个值。而TDengine则采用传统的关系型数据模型,数据点表现为一个行,每个行有多个列。这种差异影响了数据的存储和查询方式。
- 数据存储与备份:InfluxDB使用TSI(Time-Structured Merge Tree)存储引擎,而TDengine则使用TAOS引擎。此外,InfluxDB需要依赖外部工具来实现数据的备份和恢复,而TDengine在数据可靠性方面表现更好,可能具有更强大的内置数据备份和恢复功能。
- 社区支持:InfluxDB拥有更大的社区支持,有更多的插件和工具可以与之集成。这意味着在使用InfluxDB时,用户可能更容易找到相关的教程、解决方案和社区帮助。然而,TDengine的社区虽然相对较小,但也在不断发展壮大。
- 数据查询:TDengine为了让MySQL用户友好使用,直接采用以SQL为接口语言的设计策略。此外,TDengine提出了超级表(SuperTable)的概念,用于提高查询效率。尽管每个数据采集点使用一个表的设计在某些场景下可以优化写入性能,但在多表查询时可能会增加复杂度。
- 磁盘空间占用:在大数据规模的场景中,InfluxDB落盘后文件占用的磁盘空间是TDengine的4倍以上。这表明TDengine在磁盘空间利用上更为高效。
综上所述,InfluxDB和TDengine各有其优势和特点。InfluxDB在数据模型和社区支持方面表现较好,而TDengine则在性能、数据可靠性和磁盘空间利用方面表现更优。在选择使用哪个数据库时,需要根据具体的应用场景和需求进行权衡。
为了使用InfluxDB,用户可以选择多种方式安装和部署它,包括通过Docker容器进行部署或者在线部署、离线安装包部署等方式。安装完成后,用户可以执行常用操作,如创建数据库、创建用户并授权、导入和导出数据等。
回到目录
二、【linux】InfluxDB下载安装配置
- linux下的安装方式如下: 根据实际环境需要选择一种方式安装就行
- 通过包管理工具安装,比如apt 和yum
- 直接下载可执行二进制程序的压缩包
- 通过docker安装
- windows 下的安装方式:
直接下载安装包解压后,在 cmd 命令框内运行即可
回到目录
2.1 下载安装
首先访问 InfluxDB 官网(点击访问),找到选择合适的版本
2.1.1 apt在线安装
如果服务器支持访问外部网络,建议使用该种方式。
- 如果服务器是 CentOS,执行如下命令下载 rpm 文件:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.2.x86_64.rpm
其中:influxdb-1.8.2.x86_64.rpm根据不同版本rpm文件名称不同
- 下载后执行如下命令进行安装:
sudo yum localinstall influxdb-1.8.2.x86_64.rpm
如果已经通过apt在线安装了,可以跳过[2.1.2 离线安装],点击进入‘’配置及启动
回到目录
2.1.2 离线安装
如果服务器不支持访问外部网络,建议使用该种方式。
- 如果服务器是 CentOS,先去官网下载 rpm 文件,下载地址:https://repos.influxdata.com/rhel/7/x86_64/stable
点击选择合适的版本下载
- 将安装包传到指定文件夹下,然后执行安装命令:
yum localinstall -y influxdb-1.8.3.x86_64.rpm
其中:influxdb-1.8.2.x86_64.rpm根据不同版本rpm文件名称不同
2.2 配置及启动
- 修改配置文件,执行命令:
vi /etc/influxdb/influxdb.conf
以下标出需要修改的部分:
# 以下三个文件夹可根据需要进行修改目录
[meta]dir = "/var/lib/influxdb/meta"
[data]dir = "/var/lib/influxdb/data"wal-dir = "/var/lib/influxdb/wal"
# http相关参数
[http]# 开启 HTTP APIenabled = true # 默认绑定端口为 8086可进行修改bind-address = ":8086"# 用户及密码验证默认关闭【注意】创建管理员用户后生产环境进行开启# auth-enabled = false
修改后,保存文件。
2. 启动服务,执行命令:systemctl start influxd
查看启动状态,执行命令:systemctl status influxd
此时状态为‘
active
’说明启动成功
- 创建管理员用户:
- 进入命令行工具界面,执行命令:
# 如果使用默认端口8086
influx
# 如果修改了默认绑定的端口,添加-port参数指定端口
influx -port '18088'
- 创建管理员用户,执行命令:
create user "usename" with password 'userpass' with all privileges;
# 例如:创建用户root ,登录密码为 root
create user "root" with password 'root' with all privileges;
# 查看创建的用户,使用如下命令
show users
- 开启用户密码认证:
- 修改配置文件,执行命令:
vi /etc/influxdb/influxdb.conf
以下标出需要修改的部分:
# http相关参数
[http]# 用户及密码验证默认关闭【注意】创建管理员用户后生产环境进行开启auth-enabled = true
修改后,保存文件。
- 重启服务,执行命令:
systemctl restart influxd
- 使用用户名及密码进行登录,执行命令:
influx -username 用户名 -password 密码
# 例如,使用root用户登录
influx -username root -password root
其他常用配置,根据实际需要进行配置:
[data]# 是否应在执行查询之前记录查询日志。这对于故障排查非常有用,但会记录查询中包含的任何敏感数据。query-log-enabled = false
[http]#确定是否启用Flux查询日志记录flux-log-enabled = false# 确定是否启用HTTP请求日志记录。log-enabled = false# 当启用日志时,确定是否应禁止HTTP写入请求日志。suppress-write-log = false# 当启用HTTP请求日志记录时,此选项指定应将日志条目写入的路径。如果未指定,则默认写入stderraccess-log-path = ""# 是否开启写操作日志,如果打开,每次写操作都会记录日志write-tracing = false[logging]# 日志格式,默认auto,其他可选格式:logfmt jsonformat = "auto"# 日志级别,默认info,其他可选级别:error\warn\debuglevel = "error"# 当程序启动时,是禁用打印logo信息,默认falsesuppress-logo = false
- 开机自启配置
- 执行命令:
systemctl enable influxd
enable 不能用 提示层级太深
- 修改/etc/rc.loal文件实现开启启动,执行命令:
vi /etc/rc.loal
在文件中新增行:
# 添加启动命令
systemctl start influxd
回到目录
3、windows 下的安装方式
参考链接:【Windows环境下部署InfluxDB】
回到目录
4、InfluxDB基本使用
4.1 创建用户
create user "usename" with password 'userpass' with all privileges;
# 例如:创建用户root ,登录密码为 root
create user "root" with password 'root' with all privileges;
# 查看创建的用户,使用如下命令
show users
4.2 数据库
- 数据库创建
create database name;
# 例如:创建数据库hf_data
create database hf_data;
# 查看创建的数据库,使用如下命令
show databases;
- 为数据库创建保留策略
CREATE RETENTION POLICY <name> ON <dbname> DURATION <num>d REPLICATION 1 DEFAULT
#例如:为数据库hf_data创建一个名称为“one_year_policy”的保留策略,设置为数据保留一年(365天):CREATE RETENTION POLICY "one_year_policy" ON "hf_data" DURATION 365d REPLICATION 1 DEFAULT
# 查看当前数据库(默认为_internal)的保留策略SHOW RETENTION POLICIES ON <database_name> #例如:查看数据库hf_data的保留策略SHOW RETENTION POLICIES ON hf_data;
这里:
“one_year_policy” 是保留策略的名称。
“hf_data” 是数据库名称。
DURATION 365d 设置数据保留的天数。
REPLICATION 1 设置副本数(根据你的集群设置调整)。
DEFAULT 表示这个保留策略是数据库的默认保留策略。新创建的measurement(类似于传统数据库中的表)将使用这个保留策略,除非明确指定其他保留策略。
回到目录