influxdb2.7基本介绍安装与启动

news2025/5/21 7:03:01

概念

  • timestamp: influxdb所有的数据都会有一个列_time来存timestamp。默认是以nanosecond格式存储的。
  • field: field就是mysql中的字段,field key存储在_field字段中,field value就是字段值,存储在_value字段中。field key和field value对组成的集合field set。其中key只能是string类型,value可以是integer,string,float,boolean四种类型。field是没有索引的。如果查询条件是field,则会扫描符合条件的所有field的值。field用于保存具体的时序数据,也就是随时间变化的数据。比如定位信息,温度信息。
  • tag:同field,唯一区别就是tag是索引,并且value只能是string。所以建议用tag来做查询条件。tag key就直接作为字段名,没有像_field固定的字段来存储key,value就是tag key字段的值。可以将tag理解为自定义字段加索引。tag一般用于保存数据来源的信息。比如设备id。
  • measurement:有点像mysql中的表,_measument字段来表示,作为key,tag和timestamp的集合。用measurement来表示数据。
  • retention policy:数据保留策略,默认是永久保留,副本数量为1。
  • series key: servies key是point的集合。series key包括measurment,tag set和field key。可以理解为一个列的所有数据集合的key。
  • series: 包括时间戳和series对应的field value。同一个series的数据在物理上会按照时间顺序排序在一起。可以理解为一个列的所有数据和时间戳的集合。
    在这里插入图片描述

census是measurment,两个等号是两个tag kv,bees是field key。23和28是field value。

  • point:就是一个数据行,一条记录,多个point组成series。表示某个采集时间点的数据,包括series key(里面并不包括field key)和对应的field value,timestamp。
    在这里插入图片描述
    图片中前面是timestamp,census是measurment,ants和30是tag kv,portland和mullen是field value。
  • database:等同于mysql的database,里面存有多个measurement,retention policy。2.x版本中已经移除database的概念。
  • bucket:结合了database和retention period,bucket属于organization。
  • organization:可以理解为工作空间,包括多个用户。buckets和users都是属于oraganization。

总结:上层的概念是oraganization,所有的数据都是属于org的。数据的存储都是在bucket里面。可以理解为数据库,2.x版本中没有database这个概念了。measurement可以理解成为一张表,但是实际上不是一个表。数据中point表示一条数据,每条数据都有一个_time表示时间戳,series表示point的集合,field是固定字段_field,key和value都是值,没有索引,tag是自定义字段名和值,索引的结合

安装

mac安装

brew update
brew install influxdb

启动执行influxd &或者brew services start influxdb,默认端口号是8086,启动完之后,在控制台打开localhost:8086来访问控制台。用brew安装会连同客户端命令一起安装。

influxdb默认端口号是8086,如果要修改端口,可以使用

influxd --http-bind-address=localhost:9000

删除influxdb

brew uninstall influxdb
rm -rf /opt/homebrew/etc/influxdb
rm -rf ~/.influxdbv2/ 其中engine/data目录是数据目录,每个子目录都是一个bucket_id,且必须bucket里面插入数据时,才会创建对
rm -rf ~/.influx_history
rm -rf /var/lib/influxdb
一定要删除上面三个目录文件才能彻底删除。
如果是用tar包安装的就要按照具体的配置的路径去删除。

docker安装

influxdb是用go语言开发的,可以直接使用docker进行安装。
docker run --name influxdb -p 8086:8086 influxdb:2.7.0,安装的版本是2.7。默认的端口是8086。

启动完成后,可以直接通过localhost:8086来访问,打开控制台来操作influxdb。

服务端命令

influxd version: 查看服务端的版本
influxd run: 运行服务端,默认不加run也可以。
influxd inspect: 检查磁盘上面的数据
influxd print-config: 打印当前服务端的完整配置
influxd upgrade: 升级inflxud

influxdb目录结构

配置文件在/opt/homebrew/etc/influxdb2/onfig.yml文件, linux是/etc/influxdb/config.toml
数据目录默认在~/.influxdbv2/,其中engine是数据目录。
默认的配置文件是~/.influxdbv2/configs。在里面可以查看各个config中指定的auth token。如果你忘了token,想要查看,除了可以用命令行以外,也可以来这个文件中查看。

安装命令行客户端

如果要操作influxdb除了可以使用控制台以外,还可以使用命令行。默认情况下,influxdb命令行工具是需要额外安装的,直接用brew安装或使用压缩包安装都可以,直接从官网下载即可。这里不再赘述。只介绍以下一个技巧,influx命令行自动补全,方便自动补子命令,防止打错。
zsh

source <(influx completion zsh)

bash

source $(brew --prefix)/etc/bash_completion.d
source <(influx completion bash)

初始化操作

安装好influxdb之后,默认是没有用户,也没有任何数据库的,需要先进行初始化操作。初始化操作分为两种方式:控制台和命令行。

控制台初始化

打开控制台,localhost:8086,会先创建一个用户,输入username,password,org,bucket,token。token一定要保存下来,因为默认没办法查。按步骤操作完成后就完成初始化了。

命令行初始化

influx setup
会进入交互式的初始化,输入用户名,密码,org,bucket。同时默认会创建一个token和一个默认的config,初始化之后默认客户端就有权限了,直接通过influx auth list来查询。如果没有权限执行auth,可以查看~/.influxdbv2/configs文件中的token信息。

如果setup命令报错:failed to check if already set up: Get “http://localhost:8086/api/v2/setup”,说明influxdb的端口并不是8086,因此setup要指定host,influx setup --host=localhost:port来执行。

初始化操作默认只能进行一次,初始化之后正常情况下无法再进行第二次初始化。除非是将上面所有的数据和配置卸载干净,卸载方法文章最后有

创建config

默认情况下,需要直接输入命令是没有权限的,会报401错误。
在这里插入图片描述
需要在所有的命令后面加上-t token,才能认证通过。如果不想每次都加上-t,则需要创建config。config可以理解客户端存储token信息的地方。后续输入命令就不用每次都加token了
可以使用以下命令来创建config。

influx config create --config-name=test --host-url=http://localhost:8086 --org=test --token=token_value --active

org是最外层的空间,一个config只能对应一个org,一个用户同时也只能访问一个org。org可以包含多个bucket,bucket可以理解为一个database,用来存储数据的。该config与服务端的config不是一回事

auth就是一个认证,即一个token对应一个用户,通过auth命令可以查看token,但是前提也是需要有token认证的时候才有权限去查看。因此无论如何,第一次生成的token必须要保存下来。

在虚拟机centos上安装influxdb2

因为虚拟机也是arm的cpu,所以要选择arm类型

cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF

将上面一段代码copy进入,回车,是为了将influx的库添加到yum中。
sudo yum install influxdb2 安装influxdb2。

如果使用yum安装时报错Peer’s Certificate has expired,跟本地操作系统是没有关系的,可以使用命令sudo yum update -y ca-certificates更新一下。再尝试安装。

centos卸载influxdb2

sudo yum -y remove influxdb2
sudo rm -rf /etc/influxdb
sudo rm -rf /var/lib/influxdb
sudo rm -rf ~/.influxdbv2    # 数据文件和配置文件

安装influx-cli

安装influx-cli,这个在linux上面需要单独安装的。

wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-arm64.tar.gz
tar xvzf influxdb2-client-2.7.3-linux-arm64.tar.gz
sudo cp influx /usr/local/bin/

初始化

influx setup创建用户,org,bucket即可。

恢复到初始状态

如果对influxdb不想重新安装,只是想恢复到初始状态,直接删除对应的数据目录和配置目录即可。
rm -rf /opt/homebrew/etc/influxdb2
rm -rf ~/.influxdbv2/
rm -rf ~/.influx_history
配置文件在/opt/homebrew/etc/influxdb2/config.yml

连接远程服务器

influx bucket list -t HHsaJIz4CMSEXnavR09BJ0rg8oo5Gu1hzyGn4H0UNmaYG3Ypw4o0fa2z35Qb1eHMy7xC3GoQWcSqiDJCoskS-g==  --host http://192.167.57.90:8086  -o earth

-t指定服务器上面的token
–host指定服务器的地址
-o指定服务器的org

添加自动补全命令工具

使用zsh用以下命令即可,后面输入influx的子命令都可以自动补全

source <(influx completion zsh)

bash

source $(brew --prefix)/etc/bash_completion.d
source <(influx completion bash)

bash for linux

source /etc/bash_completion.d/authselect-completion.sh
source <(influx completion bash)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1011113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java 基础篇】Java可变参数:灵活处理不定数量的方法参数

在Java编程中&#xff0c;可变参数是一项强大的功能&#xff0c;它允许你编写更加灵活的方法&#xff0c;接受不定数量的参数。本文将详细解释Java可变参数的用法、语法以及最佳实践。 什么是可变参数&#xff1f; 可变参数是Java 5引入的一项功能&#xff0c;它允许你在方法…

【AIGC】提示词 Prompt 分享

提示词工程是什么&#xff1f; Prompt engineering&#xff08;提示词工程&#xff09;是指在使用语言模型进行生成性任务时&#xff0c;设计和调整输入提示&#xff08;prompts&#xff09;以改善模型生成结果的过程。它是一种优化技术&#xff0c;旨在引导模型产生更加准确、…

腾讯mini项目-【指标监控服务重构】2023-07-17

今日已办 根据导师的指导意见 修改了otelclient相关配置的代码 认真学习uptrace的文档&#xff0c;会比otel、signoz的好理解&#xff1a; 什么是OpenTelemetry https://uptrace.dev/opentelemetry/architecture.html#opentelemetry-sdk trace部分介绍 https://uptrace.dev/o…

Vue3上 使用腾讯地图 基础展示

一,注册账号 申请key值 第one步 先注册 腾讯位置服务 - 立足生态&#xff0c;连接未来 (qq.com) 第two步 注册key!!!!! 并选择开发参考的开发文档 选择类型 添加成功后会在我的应用里看到你的key值 第三步 (因为我这里是在pc端使用 就直接只用Web端文档了) 二,加载地图 …

【FPGA项目】进阶版沙盘演练——报文收发(报文处理、CDC、CRC)

前言 书接上文【FPGA项目】沙盘演练——基础版报文收发_子墨祭的博客-CSDN博客&#xff0c;前面我们做了基础版的报文收发&#xff0c;相信对逻辑设计有了一定的认知&#xff0c;在此基础上&#xff0c;继续完善一个实际报文收发可能会遇到的一些处理&#xff1a; 报文处理握手…

布隆过滤器 python3 pybloom_live使用例子 存储开销

1. 安装pybloom_live from pybloom_live import BloomFilter# 创建一个Bloom过滤器对象 # 错误率&#xff08;False Positive Rate&#xff09;在布隆过滤器中指的是&#xff0c;不存在的元素被错误地认为存在于集合中的概率 bf BloomFilter(capacity10000, error_rate0.001)#…

IntelliJ IDEA使用_常规设置

文章目录 版本说明主题设置取消检查更新依赖自动导入禁止import xxx.*、允许import内部类显示行号、方法分割线、空格代码提示&#xff08;匹配所有字母&#xff09;自定义注释颜色添加头部注释自定义字体设置字符编码关联本地GitJDK编译版本Maven配置Tomcat配置代码注释设置头…

iPhone 15秋季发布会召开,媒介盒子多家媒体持续报道

现如今互联网引流成本越来越高不说,难度越来越大,大多数都是投入巨大,收效甚微。因此,用有限的成本带来高回报的效果成为企业共同的追求。 当然,企业想要产品服务引流绝非易事。 为什么你的品牌营销不见效?新产品上市要怎么做宣传?盒子以新发布的苹果15为例分析,给你一些启…

bootstrap按钮

<!--1、可以转换成按钮的元素--> <!--可能使用 <button> 元素来获得在各个浏览器上获得相匹配的绘制效果--> <a class"btn btn-default">按钮a标签</a> <button class"btn btn-default">按钮button标…

scrapy框架学习笔记-1

前言 在现代互联网时代&#xff0c;网页数据获取和处理已经成为了重要的技能之一。无论是为了获取信息、做市场研究&#xff0c;还是进行数据分析&#xff0c;掌握网页爬取和数据处理技术都是非常有用的。本文将介绍从网页加载到数据存储的完整过程&#xff0c;包括网络请求、…

macOS Big Sur:探索新设计,聚焦新体验

自苹果公司推出macOS Big Sur以来&#xff0c;这一新版操作系统以其突破性的设计刷新了我们对Mac的认知。本文将详细介绍macOS Big Sur的各项新功能及其为用户带来的卓越体验。 安装&#xff1a;macOS Big Sur(macos11)v11.7.10正式版 一、全新设计&#xff1a;导览更轻松&am…

mysql MVCC多版本并发控制

mvcc的概念 mvcc 的实现依赖于&#xff1a; 隐藏字段 行格式&#xff08;row_id,trx_id,roll_ponter&#xff09;UndologRead view innodb 存储引擎的表来说&#xff0c;聚集索引记录中都包含两个必要的隐藏字段&#xff0c;row_id(如果没有聚集索引&#xff0c;才会创建的) …

Kubernetes入门 十七、Helm 包管理器

目录 概述Helm 的三大概念Helm 的安装仓库管理Helm 的常用命令 chart详解目录结构Redis chart 实践升级回滚 概述 Kubernetes 上的应用对象&#xff0c;都是由特定的资源描述组成&#xff0c;包括 Deployment、Service 等&#xff0c;都保存在各自的文件中或者集中写在一个配置…

(2023 最新版)IntelliJ IDEA 下载安装及配置教程

IntelliJ IDEA下载安装教程&#xff08;图解&#xff09; IntelliJ IDEA 简称 IDEA&#xff0c;由 JetBrains 公司开发&#xff0c;是 Java 编程语言开发的集成环境&#xff0c;具有美观&#xff0c;高效等众多特点。在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本…

企业架构LNMP学习笔记40

框架配置实现读写分离&#xff1a; 1&#xff09;修改项目配置文件&#xff1a; return [// 数据库类型type > mysql,// 服务器地址// 1、主从数据库的连接地址 主在前 从在后hostname > 192.168.17.100,192.168.17.105,// 2、主从数据库的名称、用…

C语言再学习 -- C语言实现 sin 和 cos 功能

之前在 C语言再学习 – C 标准库 - math.h 里有介绍 sin 和 cos 函数。但是这两个函数C语言该怎么实现呢&#xff1f; 首先看一下这两个函数的介绍&#xff1a; 函数介绍 C 库函数 - sin() C 标准库 - <math.h> 描述 C 库函数 double sin(double x) 返回弧度角 x 的正…

亚马逊云科技面向游戏运营活动的AI生图解决方案

随着Stable Diffusion等AI生图方案逐步普及&#xff0c;越来越多的场景被开发和落地。其中面向游戏C端玩家的AI生图营销活动场景正在被逐步验证&#xff1a;在某个游戏社区中&#xff0c;玩家一键从手机上传一张照片&#xff0c;AI会将自动识别该照片中的元素并替换成游戏中相应…

4-2 张量的数据运算

张量数学运算主要有&#xff1a;标量运算&#xff0c;向量运算&#xff0c;矩阵运算&#xff0c;以及使用非常强大而灵活的爱因斯坦求和函数torch.einsum&#xff08;重难点&#xff09;进行任意维的张量运算。此外还会介绍张量运算的广播机制。 一&#xff0c;标量运算 (操作…

Vue3高频面试题+八股文

Vue3.0中的Composition Api 开始之前 Compos:1 tion API可以说是ue3的最大特点&#xff0c;那么为什么要推出Compos1t1on Api,解决了什么问趣&#xff1f; 通常使用Vue2开发的项目&#xff0c;普遍会存在以下问题&#xff1a; 代码的可读性随着组件变大而变差每一种代码复用的…

【JavaScript内置对象】Date对象,从零开始

【JavaScript内置对象】Date对象&#xff0c;从零开始 时间的表示方式 时间表示的基本概念 最初&#xff0c;人们是通过观察太阳的位置来决定时间的&#xff0c;但是这种方式有一个最大的弊端就是不同区域位置大家使用的时间是不一致的。 相互之间没有办法通过一个统一的时间…