InfluxDB学习之linux上安装InfluxDB
- 什么是InfluxDB
- 特点
- 使用场景
- 如何安装
- windows如何安装
- linux安装教程(不用登录,)
- 界面展示
- 特别说明
什么是InfluxDB
InfluxDB 是一个用于存储和分析时间序列数据的开源数据库。由 Golang 语言编写,也是由 Golang 编写的软件中比较著名的一个,在很多 Golang 的沙龙或者文章中可能都会把 InfluxDB 当标杆来介绍,这也间接帮助 InfluxDB 提高了知名度。
特点
- 高压缩比:由于数据每分每秒都在变化,海量的时序数据往往体量巨大,占用大量硬件资源,所以需要优化数据压缩算法提高数据压缩比。
- 高并发写入:时序数据库采用持续高并发写入数据,无更新的方式,对于时间相同的重复的数据,只保留一份数据。
- 低延时、高并发查询:通过索引降低查询延时,通过缓存等技术提高数据并发能力。
使用场景
- IOT行业:电力、化工等工业物联网数据监测
- 金融行业:各类金融产品及其衍生品、数字货币数据存储与量化研究
- IT行业:服务器、虚拟机、容器等的状态数据实时监测
- 互联网行业:用户行为轨迹,日志等数据。
目前比较流行的时序数据库有:InfluxDB、Prometheus、OpenTSDB、TDengine等,其中使用最广泛的当属InfluxDB,行业内应用最广泛。还有就是刚进入业内视野的国产时序数据库TDengine。而Prometheus则是Prometheus监控系统自带的数据库。
如何安装
自己学习,不需要看文章请点击->中文文档
windows如何安装
windows安装InfluxDB
linux安装教程(不用登录,)
官网下载地址
- 接着我们连接上服务器。
#创建文件夹
mkdir /opt/software
# 进入创建的文件夹
cd /opt/software
# 下载
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.6_linux_amd64.tar.gz
#解压
tar -zxvf influxdb2-2.7.6_linux_amd64.tar.gz
#进入到启动脚本位置
cd influxdb2-2.7.6/usr/bin
#启动
./influxd
- 启动后控制台会输出
2024-05-10T06:21:50.758893Z info Welcome to InfluxDB {"log_id": "0p4IUc9W000", "version": "v2.7.6", "commit": "3c58c06206", "build_date": "2024-04-12T21:51:21Z", "log_level": "info"}
2024-05-10T06:21:50.771227Z info Resources opened {"log_id": "0p4IUc9W000", "service": "bolt", "path": "/root/.influxdbv2/influxd.bolt"}
2024-05-10T06:21:50.771308Z info Resources opened {"log_id": "0p4IUc9W000", "service": "sqlite", "path": "/root/.influxdbv2/influxd.sqlite"}
2024-05-10T06:21:50.773838Z info Bringing up metadata migrations {"log_id": "0p4IUc9W000", "service": "KV migrations", "migration_count": 20}
2024-05-10T06:21:50.998985Z info Bringing up metadata migrations {"log_id": "0p4IUc9W000", "service": "SQL migrations", "migration_count": 8}
2024-05-10T06:21:51.093072Z info Using data dir {"log_id": "0p4IUc9W000", "service": "storage-engine", "service": "store", "path": "/root/.influxdbv2/engine/data"}
2024-05-10T06:21:51.093169Z info Compaction settings {"log_id": "0p4IUc9W000", "service": "storage-engine", "service": "store", "max_concurrent_compactions": 1, "throughput_bytes_per_second": 50331648, "throughput_bytes_per_second_burst": 50331648}
2024-05-10T06:21:51.093183Z info Open store (start) {"log_id": "0p4IUc9W000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "start"}
2024-05-10T06:21:51.093238Z info Open store (end) {"log_id": "0p4IUc9W000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "end", "op_elapsed": "0.058ms"}
2024-05-10T06:21:51.093262Z info Starting retention policy enforcement service {"log_id": "0p4IUc9W000", "service": "retention", "check_interval": "30m"}
2024-05-10T06:21:51.093271Z info Starting precreation service {"log_id": "0p4IUc9W000", "service": "shard-precreation", "check_interval": "10m", "advance_period": "30m"}
2024-05-10T06:21:51.093947Z info Starting query controller {"log_id": "0p4IUc9W000", "service": "storage-reads", "concurrency_quota": 1024, "initial_memory_bytes_quota_per_query": 9223372036854775807, "memory_bytes_quota_per_query": 9223372036854775807, "max_memory_bytes": 0, "queue_size": 1024}
2024-05-10T06:21:51.095924Z info Configuring InfluxQL statement executor (zeros indicate unlimited). {"log_id": "0p4IUc9W000", "max_select_point": 0, "max_select_series": 0, "max_select_buckets": 0}
2024-05-10T06:21:51.104328Z info Starting {"log_id": "0p4IUc9W000", "service": "telemetry", "interval": "8h"}
2024-05-10T06:21:51.104382Z info Listening {"log_id": "0p4IUc9W000", "service": "tcp-listener", "transport": "http", "addr": ":8086", "port": 8086}
2024-05-10T06:51:51.096191Z info Retention policy deletion check (start) {"log_id": "0p4IUc9W000", "service": "retention", "op_name": "retention_delete_check", "op_event": "start"}
2024-05-10T06:51:51.096248Z info Retention policy deletion check (end) {"log_id": "0p4IUc9W000", "service": "retention", "op_name": "retention_delete_check", "op_event": "end", "op_elapsed": "0.081ms"}
界面展示
我们可以看到influxDB的默认端口是8086。这里我们直接通过ip加端口访问。如图
这里我们按照自己的习惯输入即可,并记录下来以便下次访问。
特别说明
influxDB数据1.x版本和2.x版本有着非常大区别。
区别:
- 1.x版本特别是1.8可以使用flux脚本语言和influxQL。
- 1.x版本有基于1.8版本集群配置,这个大家可以区github上看看。
- 2.x版本主要就是flux脚本语言了。切没有集群配置,要使用集群配置就只能购买了。
1.x之前了influx有四个组件工具(TICK): - Telegraf :数据采集组件,收集&发送数据到influxDB。
- InfluxDB : 存储数据&发送数据到Chronograf。
- Chronograf : 总用户界面,起到总的管理功能。
- Kapacitor : 后台处理报警信息。
2.x 则将 C和K都集成到了influxDB