Influxdb系列(一)influxdb2.7.x的部署安装

本文介绍了InfluxDB的基本概念,作为时序数据库在监控领域的应用,包括其行协议的数据格式、官网下载链接、安装过程中的配置参数设置,以及运行和Web接口的使用。还提及了boltdb问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、influxdb的介绍

InfluxDB 是一种时序数据库,时序数据库通常被用在监控场景,比如运维和 IOT(物联网)领域。这类数据库旨在存储时序数据并实时处理它们。
比如。我们可以写一个程序将服务器上 CPU 的使用情况每隔 10 秒钟向 InfluxDB 中写入一条数据。接着,我们写一个查询语句,查询过去 30 秒 CPU 的平均使用情况,然后让这个查询语句也每隔 10 秒钟执行一次。最终,我们配置一条报警规则,如果查询语句的执行结果>xxx,就立刻触发报警。
上述就是一个指标监控的场景,在 IOT 领域中,也有大量的指标需要我们监控。比如, 机械设备的轴承震动频率,农田的湿度温度等等。

二、influxdb行协议

InfluxDB 行协议是 InfluxDB 数据库独创的一种数据格式,它由纯文本构成,只要数据 符合这种格式,就能使用 InfluxDB 的 HTTP API 将数据写入数据库。 与 CSV 相似,在 InfluxDB 行协议中,一条数据和另一条数据之间使用换行符分隔, 所以一行就是一条数据。另外,在时序数据库领域,一行数据一行数据由下面 4 种元素构成。
image.png

三、官网下载地址

https://docs.influxdata.com/influxdb/v2/install/?t=Linux
image.png
我这里直接复制出连接下载了,会快很多。根据自己的版本自行下载

# 下载
[root@192 bin]# mkdir /root/influxdb/
[root@192 bin]# https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.3-linux-amd64.tar.gz
# 解压
[root@192 bin]# tar xvzf path/to/influxdb2-2.7.3-linux-amd64.tar.gz
# 配置软连接
[root@192 bin]# pwd
/root/influxdb/influxdb2-2.7.3/usr/bin
[root@192 bin]# cp influxd /usr/local/bin/

四、配置influxdb参数

image.png

  • *根据官网介绍指定配置属性有三种方式,这里我们采用配置文件的形式,即在influxd的同级目录新建config.的文件image.png

在influxd的同级目录下新建config.yaml文件,具体的参数含义可查看官网或使用./influxd help查看。

[root@VM-24-17-centos bin]# pwd
/root/influxdb2-2.7.3/usr/bin
[root@VM-24-17-centos bin]# ll
总用量 102368
-rw-r--r-- 1 root root       292 119 10:28 config.yaml
drwxr-xr-x 5 root root      4096 119 10:39 engine
-rwxr-xr-x 1 root root 103292584 1017 23:47 influxd
-rw-r--r-- 1 root root   1280637 125 13:47 influxdb.log
-rw------- 1 root root    131072 125 09:30 influxd.bolt
-rw-r--r-- 1 root root    122880 119 10:19 influxd.sqlite
[root@VM-24-17-centos bin]# cat config.yaml 
http-bind-address : :8087
query-concurrency : 20
query-queue-size : 30
bolt-path : /root/influxdb2-2.7.3/usr/bin/influxd.bolt
sqlite-path : /root/influxdb2-2.7.3/usr/bin/influxd.sqlite
#assets-path : /root/influxdb2-2.7.3/usr/bin/assets-dir
engine-path : /root/influxdb2-2.7.3/usr/bin/engine

五、运行influxdb

# 前台运行
[root@192 bin]# influxd 
# 后台启动
[root@192 bin]#cd /root/installed/influxdb/usr/bin
[root@192 bin]#nohup ./influxd > influxdb.log 2>&1 &

image.png

六、登录web初始化信息

注意是http协议 不是https协议
http://192.168.112.130:8086/
image.png
获取授权的Token 左侧->API Tokens->All Access API Token->输入名称后->就是授权的Token了
image.png

后面会提如何使用Api token的方式使用客户端以及java api的方式操作infxludb

七、附录

unable to open boltdb: timeout

unable to open boltdb: timeout

image.png
https://github.com/influxdata/influxdb/issues/24320

这个问题通过一种奇怪的方式解决:

#  backup bolt db then delete it
cp influxd.bolt influxd.bolt.bak
rm influxd.bolt
然后重新启动influx,现在influx应该运行良好了~
现在让我们做一些神奇的事情吧😂

cp influxd.bolt.bak influxd.bolt

问题分析:
通常螺栓超时是因为其他东西(通常是另一个 influxdb 进程)也打开了该文件。如果再次发生这种情况,我会首先检查您的进程列表以确保没有发生这种情况。
当检查我的系统监视器时,我在端口 72 上看到一个名为 influxd 的进程,用户为 Root…我使用“sudo Kill -9 processId”命令终止了该进程。我只和 SUDO 合作,为了引起大家的注意。(我认为这是因为它是一个根进程)。然后就可以重新启动influxdb了

jar包启动

## 启动jar包前执行这句,避免jvm占用内存过多
[root@VM-24-17-centos dm_prometheus]#  export MALLOC_ARENA_MAX=2
## 如果机器内存比较大可调整为 -Xms128m  -Xmx1024m 
[root@VM-24-17-centos dm_prometheus]#  nohup java -jar -Xms256m  -Xmx512m sql_realtime_parse_tool-0.0.9.jar  > ./sql_realtime_parse_tool.log 2>&1 &

sql_realtime_parse_tool-0.0.7.jar
### InfluxDB 2.x 安装指南 #### 准备工作 确保操作系统已更新至最新状态并安装必要的依赖项。对于基于Debian的系统,可以使用如下命令来完成这些操作: ```bash sudo apt update && sudo apt upgrade -y ``` 对于基于Red Hat的系统,则应执行以下命令: ```bash sudo yum update -y ``` #### 下载与安装InfluxDB 2.x 官方推荐的方式是从官方网站下载适合当前系统的二进制包[^1]。 针对Linux环境下的安装过程如下所示: ##### 添加官方仓库 为了方便管理以及保持软件版本同步,在大多数情况下建议添加官方维护者提供的APT或YUM源。 对于Ubuntu/Debian: ```bash wget -qO- https://repos.influxdata.com/influxdb.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null echo 'deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian bullseye stable' | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt-get update && sudo apt-get install influxdb2 ``` 对于CentOS/RHEL: ```bash cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxData Repository - Stable baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF yum install influxdb2 ``` ##### 启动服务 旦成功安装之后就可以启动InfluxDB的服务进程,并设置开机自启功能。 ```bash sudo systemctl start influxdb sudo systemctl enable influxdb ``` 此时可以通过`influxd`命令验证是否能够正常运行。 #### 配置初始化 首次访问时会提示创建初始配置,包括但不限于组织名称、bucket存储桶设定等重要参数。这步骤通常是在浏览器中打开http://localhost:8086/ui链接后自动引导完成。 #### 测试连接 最后可通过CLI工具测试新部署实例的状态。 ```bash influx ping ``` 如果切顺利的话应该可以看到成功的响应信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值