Cento7 Docker-compose安装以及使用InfluxDB

news2025/1/14 1:20:04

  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 -y

yum -y install epel-release
yum -y install docker-compose

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

version: '3.5'

services:
  influxdb:
    restart: always
    image: influxdb:2.1.1
    container_name: influxdb
    volumes:
       #配置文件
      - ./config/config.yml:/etc/influxdb2/config.yml
      #数据保存目录
      - /home/appadmin/data/influxdb:/var/lib/influxdb2
    ports:
       #运行端口
      - 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.coloradmin.cn/o/981013.html

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

相关文章

XREAL Air 2 Pro发布,加入电致变色技术,拓展AR眼镜使用场景

【2023年9月6日 中国北京】继刚刚宣布XREAL Air在全球销量突破20万台后&#xff0c;全球领先的消费级AR眼镜品牌XREAL今日于中国市场正式推出XREAL Air 2系列新品。全新Air 2系列包含两款AR眼镜产品&#xff1a;在显示、佩戴舒适性、音频等核心维度全面升级&#xff0c;体验全面…

【牛客刷题】反转固定区间链表、每k个节点一组反转

链表内指定区间反转_牛客题霸_牛客网 ListNode* reverseList(ListNode* head, ListNode* tail) {ListNode* pre nullptr;ListNode* cur head;while (cur ! tail) { 最后cur就是tailListNode* temp cur->next;cur->next pre;pre cur;cur temp;}return pre;}ListNode…

goLang笔记+beego框架

goLang笔记+ 初始安装之后 GOPATH: Go开发相关的环境变量如下: GOROOT:GOROOT就是Go的安装目录,(类似于java的JDK) GOPATH:GOPATH是我们的工作空间,保存go项目代码和第三方依赖包 GOPATH可以设置多个,其中,第一个将会是默认的包目录,使用 go get 下载的包都会在第一…

[经典面试题]JS的typeof和instanceof区别

一、typeof typeof 是一个一元操作符不是函数&#xff0c;所以不需要传递参数&#xff0c;使用方法非常简单&#xff1a;typeof A 对于基本类型 let s "Nicholas"; let b true; let i 22; let u; let sb undefined; console.log(typeof s); // string console.…

配电室智能化运维

配电室作为用户侧负荷终端的供电单元&#xff0c;一方面承担起与电网相连接的电源引入职能&#xff0c;另一方面&#xff0c;作为负荷分配节点在具体的生产及生活中扮演者电能供应不可替代的功用&#xff1b;运行维护是不可或缺的一环&#xff0c;目前&#xff0c;配电室的日常…

基于SpringBoot的医院挂号系统

基于SpringBootVue的医院挂号、预约、问诊管理系统&#xff0c;前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 角色&#xff1a;管理员、用户、医生 管…

QT6中添加串口模块SerialPort最简单方法

qt6.2.3以上版本已经开始支持SerialPort包了&#xff0c;不用在傻傻的自己去编译包了。 在安装的时候勾选SerialPort即可。 等着安装完即可。 如果已经安装完了的小伙伴&#xff0c;可以用 从新打开维护 选择增加或者删除组件 即可从新选择组件

【深入解析spring cloud gateway】08 Reactor 知识扫盲

一、响应式编程概述 1.1 背景知识 为了应对高并发服务器端开发场景&#xff0c;在2009 年&#xff0c;微软提出了一个更优雅地实现异步编程的方式——Reactive Programming&#xff0c;我们称之为响应式编程。随后&#xff0c;Netflix 和LightBend 公司提供了RxJava 和Akka S…

Python实现猎人猎物优化算法(HPO)优化循环神经网络回归模型(LSTM回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…

[machine learning]误差分析,模型分析

1.目的是什么 当我们找到一个算法去计算某些东西的时候,我们通常要对这个算法进行一定的分析,比如时间复杂度,空间复杂度(前者更加重要),来进行比较,判断一个算法的优劣性. 对于一个训练的模型来说,同样需要某种模型来进行分析,例如代价函数等等,通过比较拟合程度,正确精度等…

如何安装ideaIU-2020.3.3并使用无限重置插件达到永久使用

第一步、双击安装idea程序 第二步、选中64位与更新环境变量 第三步、安装完成后双击打开 1、选中 Evaluate for free – Evaluate 进入试用期 第四步、打开后选择Plugins – 设置 1、安装来自磁盘 Install Plugin from Disk 第五步、选中我们的无限重置插件&#xff0c;安装 …

Golang RSA 生成密钥、加密、解密、签名与验签

文章目录 1.RSA2.Golang 实现 RSA生成密钥加密解密签名验签 3.dablelv/cyan参考文献 1.RSA RSA 是最常用的非对称加密算法&#xff0c;由 Ron Rivest、Adi Shamir、Leonard Adleman 于1977 年在麻省理工学院工作时提出&#xff0c;RSA 是三者姓氏首字母的拼接。 它的基本原理…

Vue2基础速通

文章目录 Vue基础速通前言1、Vue概述2、快速入门3、模板语法4、数据绑定5、el和data的两种写法6、数据代理7、事件处理7.1 快速入门7.2 事件修饰7.3 键盘事件 8、计算属性9、监视属性9.2 快速入门9.2 深度监视9.3 知识拓展 10、动态绑定样式11、条件渲染12、列表渲染13、key的作…

【算法训练-链表 三】【判断】判断链表中是否有环、判断链表是否为回文链表

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【链表的相关判断】&#xff0c;使用【链表】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为…

【HTML5高级第二篇】WebWorker多线程、EventSource事件推送、History历史操作

文章目录 一、多线程1.1 概述1.2 体会多线程1.3 多线程中数据传递和接收 二、事件推送2.1 概述2.2 onmessage 事件 三、history 一、多线程 1.1 概述 前端JS默认按照单线程去执行&#xff0c;一段时间内只能执行一件事情。举个栗子&#xff1a;比方说古代攻城游戏&#xff0c…

animate.css与vue中的v-if/v-show如何一起使用

第一步:在已有的vue项目中安装animate.css npm install animate.css --save第二步&#xff1a;在 main.js 引入 import animate.css第三步&#xff1a;如果在vue中使用了v-if 或者v-show 的话就不能直接在元素上加入animate的class。我们应该在v-if/v-show的元素外层添加tran…

微服务整合Seata1.5.2+Nacos2.2.1+SpringBoot

文章目录 一、下载seata server二、客户端配置-application.yml三、初始Mysql数据库四、导入初始配置到nacos五、启动测试 本文以seata-server-1.5.2&#xff0c;以配置中心、注册中心使用Nacos&#xff0c;store.modedb&#xff08;mysql&#xff09;为例进行操作。 Seata简介…

vue-cli3项目本地启用https,并用mkcert生成证书

在项目根目录下的vue.config.js文件中&#xff1a; // vue.config.js module.exports {devServer: {host:dev.nm.cngc// 此处开启 https,并加载本地证书&#xff08;否则浏览器左上角会提示不安全&#xff09;https: {cert: fs.readFileSync(path.join(_dirname,./cert.crt)…

Linux查端口占用的几种方式

在Linux中&#xff0c;你可以使用以下几种方式来查看端口的占用情况。 一、使用netstat命令 #安装netstat yum -y install net-tools #检测端口占用 netstat -npl | grep 端口# 几种常规用法 netstat -ntlp //查看当前所有tcp端口 netstat -ntulp | grep 80 //查看所有80端…

科技成果鉴定测试报告一般包含哪些测试内容?

软件测评报告 一、科技成果评价是需要做第三方软件测评报告&#xff0c;一般是证明技术指标点是否完善&#xff0c;覆盖主要申报内容&#xff0c;应用软件项目科技成果鉴定测试内容&#xff1a; &#xff08;一&#xff09;是否完成合同或计划任务书要求的指标&#xff1b; …