Cento7 Docker-compose安装以及使用InfluxDB


  InfluxDB是一个时序数据库,主要用于监控场景的数据支撑,对于那些写少读多按时间序查询数据的场景是非常适用的。接下来我们用docker-compose的形式安装。首先先装好docker,docker-compose命令
yum -y install  yum-utils device-mapper-persistent-data lvm2#导入docker安装库
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
#按指定版本安装好docker
yum install docker-ce-20.10.5 docker-ce-cli-20.10.5 docker-ce-rootless-extras-20.10.5 -yyum -y install epel-release
yum -y install docker-compose

InfluxDB的docker-compose.yml的文件内容如下:

version: '3.5'services:influxdb:restart: alwaysimage: influxdb:2.1.1container_name: influxdbvolumes:#配置文件- ./config/config.yml:/etc/influxdb2/config.yml#数据保存目录- /home/appadmin/data/influxdb:/var/lib/influxdb2ports:#运行端口- 8086:8086

文件保存好后,启动运行InfluxDB

docker-compose up -d

在这里插入图片描述

安装成功后,用命进行cli初始化,分别填上用户,密码,组织,默认桶名。

docker exec -it ab25571473e7 /usr/local/bin/influx setup --host http://localhost:8086
docker exec -it ab25571473e7 /usr/local/bin/influx config

在这里插入图片描述

接下来创建token

docker exec -it ab25571473e7 /usr/local/bin/influx auth create -o ea --all-access
docker exec -it ab25571473e7 /usr/local/bin/influx auth list

在这里插入图片描述
Influxdb没有Database,只有Organization 和 Bucket。用关系库的理解,Organization 对应数据库示例,Bucket对应Database。

Org管理命令

#org 列表
docker exec -it ab25571473e7 /usr/local/bin/influx org list#创建org
docker exec -it ab25571473e7 /usr/local/bin/influx org create -n ea2#重命名
docker exec -it ab25571473e7 /usr/local/bin/influx org update -i f16cdfb1a16ddfb5 -n ea3#删除org
docker exec -it ab25571473e7 /usr/local/bin/influx org delete -i f16cdfb1a16ddfb5   

Bucket管理

#显示桶列表
docker exec -it ab25571473e7 /usr/local/bin/influx bucket list -o ea# 数据保留时间单位在以下单位中取值:
#纳秒 (ns)
#微秒 (us or µs)
#毫秒 (ms)
#秒 (s)
#分 (m)
#时 (h)
#日 (d)
#周 (w)
#创建桶,时间1w保存一周
docker exec -it ab25571473e7 /usr/local/bin/influx bucket create -n test2 -o ea -r 1w#重命名
docker exec -it ab25571473e7 /usr/local/bin/influx bucket update -i e6e6f7ae16812784 -n test3 -r 2w#删除
docker exec -it ab25571473e7 /usr/local/bin/influx bucket delete -n test3-o a

measurement 管理

  在数据存储方式方面,influxdb有 Fields 和 Tags ,在存储形式上 field 的 key 被存储在一个名为_field的列中, 而tag的key则是以列头的形式存在的, 该列的内容即为tag value, 另外值得注意的是 field 和 tag 都可以用来存储数据,但tag只能存储字符串类型数据(即不可以在influx查询中使用 mean()、max()等聚合函数),而filed既可以存储字符串类型又可以存储数值类型数据。

官方文档的标准语法

# 语法
<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]# 示例
student,name=weiyigeek id=10001,age=20 [1654848441]

InfluxDB2.x提供了两种语法查询数据,Flux和InfluxQL,我们先用Flux来插入查询数据
可通过 influx query打开查询管道(pipe),然后输入Flux查询语句,然后按住ctrl+d进行执行查询。

# - dryrun 尝试写入,即写入到stdout而不是InfluxDB。
docker exec -it ab25571473e7 /usr/local/bin/influx write dryrun -b test -o ea 'student,std_name=tomson id=00001,age=25,score=99'#正式写入一条数据,-p ns是时间度为纳秒
docker exec -it ab25571473e7 /usr/local/bin/influx write -b test -o ea 'student,std_name=tomson id=00001,age=25,score=99' -p ns#查询数据
#from是代表查询哪个桶
#range 是代表查询范围
# 使用filter()对输入的数据进行过滤,它有一个参数fn,这个参数是一个函数,fn函数有一个参数,这个参数表示记录,函数体是过滤条件
#yield输出查询结果
#官方参考手册 https://docs.influxdata.com/influxdb/v2.7/query-data/flux/
docker exec -it ab25571473e7 /usr/local/bin/influx query 'from(bucket: "test") |> range(start: -1d, stop: 0d) |> filter(fn: (r) => r["_measurement"] == "student") |> filter(fn: (r) => r["_field"] == "score") |> yield(name: "mean")'#删除数据
docker exec -it ab25571473e7 /usr/local/bin/influx delete -b test -o ea -p std_name=tomson --start '2023-09-05T07:13:40.770399198Z' --stop '2023-09-06T07:13:40.770399198Z'

通过Write API - 数据写入

curl --request POST "http://localhost:8086/api/v2/write?org=ea&bucket=test&precision=ns" --header "Authorization: Token d-OT0ENHu3q2dZcgdG2pytDZvht2cIs_YpBOuvRUH-zS9TllY32vwj6TtpwWiOVeCPKTiOCZxx8eg10-W3eqlA==" --header "Content-Type: text/plain; charset=utf-8" --header "Accept: application/json" --data-binary 'student,std_name=rose id=00002,age=23,score=100'

在这里插入图片描述

在这里插入图片描述

InfluxQL方式查询

#确认是否有桶映射
docker exec -it ab25571473e7 /usr/local/bin/influx v1 dbrp list
docker exec -it ab25571473e7 /usr/local/bin/influx v1 dbrp list --bucket-id 4b788e2a835b6530#没有映射建立映射
docker exec -it ab25571473e7 /usr/local/bin/influx v1 dbrp create  --db test  --rp test_rp  --bucket-id 4b788e2a835b6530  --default#QL查询
#官方查询参考手册https://docs.influxdata.com/influxdb/v2.1/query-data/influxql/curl --get http://localhost:8086/query?db=test --header "Authorization: Token d-OT0ENHu3q2dZcgdG2pytDZvht2cIs_YpBOuvRUH-zS9TllY32vwj6TtpwWiOVeCPKTiOCZxx8eg10-W3eqlA==" --data-urlencode "q=SELECT * FROM test.test_rp.student"

在这里插入图片描述在这里插入图片描述

用户管理

#创建用户tomson,密码12345678 org是ea
docker exec -it ab25571473e7 /usr/local/bin/influx user create -n tomson -p 12345678 -o ea#查看用户
influx user list#更新用户名
docker exec -it ab25571473e7 /usr/local/bin/influx user update -i 0bc66373f9008000 -n jack#修改用户密码
docker exec -it ab25571473e7 /usr/local/bin/influx user update -i 0bc66373f9008000 -n jack#删除用户
docker exec -it ab25571473e7 /usr/local/bin/influx user delete -i 0bc66373f9008000

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【买华为云产品,返CSDN余额红包】,快来薅羊毛!

华为云828营销季火热进行中&#xff0c;9月15日前首次购买华为云产品官网任意一款产品&#xff0c;可获得相应比例的CSDN红包。 热门产品云服务器、域名、商标、主机安全等产品都在其中&#xff0c;任君挑选。 活动优惠价购买后还是获得相应比例余额红包&#xff0c;实际付费金…

游戏软件报错d3dx9_43.dll丢失怎么解决?这5个解决方法可以修复

我想和大家分享一个关于电脑问题的话题——d3dx9_43.dll丢失怎么解决。这个话题对于很多使用电脑的朋友来说&#xff0c;可能是一个非常棘手的问题。d3dx9_43.dll是 DirectX中非常重要的一部分&#xff0c;许多游戏和应用程序都需要它来正常运行。如果丢失了这个文件&#xff0…

Simulink建模与仿真(3)-Simulink 简介

分享一个系列&#xff0c;关于Simulink建模与仿真&#xff0c;尽量整理成体系 1、Simulink特点 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统)&#xff0c;将是一件非常轻松的事…

万物互联:软件与硬件的协同之道

在当今数字化时代&#xff0c;我们身边的一切似乎都与计算机和互联网有关。从智能手机到智能家居设备&#xff0c;从自动驾驶汽车到工业生产线&#xff0c;无论我们走到哪里&#xff0c;都能看到软件和硬件的协同作用。本文将探讨这种协同作用&#xff0c;解释软件和硬件如何相…

ThreadLocal

ThreadLocal 参考&#xff1a;https://blog.csdn.net/u010445301/article/details/111322569 ThreadLocal简介 作用&#xff1a;实现线程范围内的局部变量&#xff0c;即ThreadLocal在一个线程中是共享的&#xff0c;在不同线程之间是隔离的。 原理&#xff1a;ThreadLocal存…

c高级day1(9.6) 离线软件安装,文件相关指令,文件权限相关指令,

作业: 使用cut截取出Ubuntu用户的家目录&#xff0c;要求&#xff1a;不能使用":"作为分割 不会 Xmind&#xff1a;

vue2踩坑之项目:生成二维码使用vue-print-nb打印二维码

1. vue2安装 npm install vue-print-nb --save vue3安装 npm install vue3-print-nb --save 2. //vue2 引入方式 全局 main.js import Print from vue-print-nb Vue.use(Print) ------------------------------------------------------------------------------------ //vue2 …

WEBGL(4):动态绘制点并根据详细自定义颜色

1 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

前端面试中Vue的有经典面试题三

11. 网页从输入网址到渲染完成经历了哪些过程&#xff1f; 大致可以分为如下7步&#xff1a; 输入网址&#xff1b; 发送到DNS服务器&#xff0c;并获取域名对应的web服务器对应的ip地址&#xff1b; 与web服务器建立TCP连接&#xff1b; 浏览器向web服务器发送http请求&a…

windows 不能ping通虚拟机问题

先查看windows网卡 查看虚拟机种 对应VMnet8种的 nat &#xff08;我用的是这种连接方式&#xff09;设置 问题是不在同一个网段&#xff0c;修改windows VMnet8网卡的配置 保证网关、网段是一样的 现在ping问题解决&#xff0c;也能windows远程连接虚拟机

Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局

概要 现在,NFT与体育竞技正日益紧密地联系在一起。一些体育项目开始推出与赛事或球队相关的NFT,同时也有部分NFT游戏开始举办电子竞技赛事。这种共生发展正在改变体育竞技的生态。 笔者采访了桥牌冠军项目相关负责人,探讨NFT游戏与传统体育竞技的融合潜力。桥牌冠军近期成功举…

(二十一)大数据实战——Flume数据采集之复制和多路复用案例实战

前言 本节内容我们完成Flume数据采集的一个多路复用案例&#xff0c;使用三台服务器&#xff0c;一台服务器负责采集本地日志数据&#xff0c;通过使用Replicating ChannelSelector选择器&#xff0c;将采集到的数据分发到另外俩台服务器&#xff0c;一台服务器将数据存储到hd…

pytorch-神经网络-手写数字分类任务

Mnist分类任务&#xff1a; 网络基本构建与训练方法&#xff0c;常用函数解析 torch.nn.functional模块 nn.Module模块 读取Mnist数据集 会自动进行下载 %matplotlib inlinefrom pathlib import Path import requestsDATA_PATH Path("data") PATH DATA_PATH / &…

使用 Nacos 在 Spring Boot 项目中实现服务注册与配置管理

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

每日刷题(回溯法经典问题之子集)

食用指南&#xff1a;本文为作者刷题中认为有必要记录的题目 前置知识&#xff1a;回溯法经典问题之组合 ♈️今日夜电波&#xff1a;想着你—郭顶 1:09 ━━━━━━️&#x1f49f;──────── 4:15 …

jmeter setUp Thread Group

SetUp Thread Group 是一种特殊类型的线程组&#xff0c;它用于在主测试计划执行之前执行一些初始化任务。 SetUp Thread Group 通常用于以下几种情况&#xff1a; 用户登录&#xff1a;在模拟用户执行实际测试之前&#xff0c;模拟用户登录到系统以获取访问权限。 创建会话&a…

freertos之资源管理

中断屏蔽 屏蔽中断函数 在任务中使用 taskENTER_CRITICA()/taskEXIT_CRITICAL() 在中断中使用 taskENTER_CRITICAL_FROM_ISR()/taskEXIT_CRITICAL_FROM_ISR() 功能介绍 使用上述函数&#xff0c;进入临界中断&#xff0c;任务不会切换&#xff0c;且中断优先级处于con…

Ubuntu入门04——目录与文件

目录 1.显示当前工作目录 2.更改目录 3.创建工作目录 4.删除工作目录 5.移动文件或者文件夹 6.文件夹and文件查看命令 7. 回到根目录&#xff0c;回到上一级 8.删除工作目录 9.查看目录和文件 10.以树状图列出目录内容 11.文件查找 12.在数据库中查找文件或目录 1…

【大数据】Apache Iceberg 概述和源代码的构建

Apache Iceberg 概述和源代码的构建 1.数据湖的解决方案 - Iceberg1.1 Iceberg 是什么1.2 Iceberg 的 Table Format 介绍1.3 Iceberg 的核心思想1.4 Iceberg 的元数据管理1.5 Iceberg 的重要特性1.5.1 丰富的计算引擎1.5.2 灵活的文件组织形式1.5.3 优化数据入湖流程1.5.4 增量…

[移动通讯]【Carrier Aggregation-3】【5G】

前言&#xff1a; 参考&#xff1a; 5G Mobile Communications&#xff1a;《Carrier Aggregation in 5G》 目录&#xff1a; 1&#xff1a; carrier Allocation Schemes 2&#xff1a; 网络结构 3&#xff1a; LTE CA 4: 5G CA 一 Carrier Allocation Schemes CA 主要作用…