如何在 CentOS 8 上安装 InfluxDB
InfluxDB是InfluxData开发的开源时序数据库。它是用 Go 编写的,旨在处理高写入和查询负载。它以其简单性和大规模执行的能力而闻名。它可以跨多个操作系统运行,并且还支持广泛的客户端库。
本教程将解释如何在 CentOS 8 上安装 InfluxDB 时间序列数据库。
先决条件
- 运行 CentOS 8 的服务器。
- 您的服务器上配置了 root 密码。
安装 InfluxDB
默认情况下,InfluxDB 在 CentOS 8 默认存储库中不可用。因此,您需要为 InfluxDB 创建一个存储库。您可以使用以下命令创建它:
nano /etc/yum.repos.d/influxdb.repo
添加以下行:
[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/8/x86_64/stable/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
保存并关闭文件,然后使用以下命令更新存储库缓存:
dnf makecache
接下来,使用以下命令安装 InfluxDB:
dnf -y install influxdb
安装完成后,使用以下命令验证已安装的 InfluxDB 版本:
rpm -qi influxdb
您应该得到以下输出:
Name : influxdb
Version : 1.8.4
Release : 1
Architecture: x86_64
Install Date: Wednesday 07 April 2021 01:24:54 AM EDT
Group : default
Size : 174431824
License : Proprietary
Signature : RSA/SHA256, Monday 01 February 2021 08:01:46 PM EST, Key ID 684a14cf2582e0c5
Source RPM : influxdb-1.8.4-1.src.rpm
Build Date : Thursday 28 January 2021 05:31:21 AM EST
Build Host : bf85fc4b5de4
Relocations : /
Packager : [email
Vendor : InfluxData
URL : https://influxdata.com
Summary : Distributed time-series database.
Description :
Distributed time-series database.
管理 InfluxDB 服务
您可以使用以下命令启动和停止 InfluxDB 服务:
systemctl start influxdb
systemctl stop influxdb
要在系统重新引导时启动 InfluxDB,请运行以下命令:
systemctl enable influxdb
要验证 InfluxDB 的状态,请运行以下命令:
systemctl status influxdb
您应该得到以下输出:
? influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-04-07 01:25:11 EDT; 11s ago
Docs: https://docs.influxdata.com/influxdb/
Main PID: 48978 (influxd)
Tasks: 8 (limit: 12524)
Memory: 7.9M
CGroup: /system.slice/influxdb.service
??48978 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426523Z lvl=info msg="Starting precreation service" log_id=0TMhWB~l000 service=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426552Z lvl=info msg="Starting snapshot service" log_id=0TMhWB~l000 service=sna>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426570Z lvl=info msg="Starting continuous query service" log_id=0TMhWB~l000 ser>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426616Z lvl=info msg="Starting HTTP service" log_id=0TMhWB~l000 service=httpd a>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426634Z lvl=info msg="opened HTTP access log" log_id=0TMhWB~l000 service=httpd >
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426802Z lvl=info msg="Listening on HTTP" log_id=0TMhWB~l000 service=httpd addr=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426831Z lvl=info msg="Starting retention policy enforcement service" log_id=0TM>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427033Z lvl=info msg="Listening for signals" log_id=0TMhWB~l000
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427330Z lvl=info msg="Storing statistics" log_id=0TMhWB~l000 service=monitor db>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427779Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=>
默认情况下,InfluxDB 监听 8086 端口。您可以使用以下命令进行检查:
ss -tunelp | grep 8086
您应该看到以下输出:
tcp LISTEN 0 128 *:8086 *:* users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0 <->
启用身份验证
默认情况下,InfluxDB 配置为无需身份验证即可连接。因此建议使用用户名和密码来保护 InfluxDB。
为此,您需要在 influxdb.conf 文件中启用身份验证。
nano /etc/influxdb/influxdb.conf
更改 [http] 部分中的以下行:
auth-enabled = true
保存并关闭文件,然后重新启动 InfluxDB 以应用更改:
systemctl restart influxdb
接下来,您需要创建一个管理员用户来对 InfluxDB 进行身份验证。您可以使用以下命令创建它:
curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"
此时,InfluxDB 通过用户名和密码进行保护。
使用 InfluxDB
现在,您可以使用以下命令连接到 InfluxDB shell:
influx -username 'admin' -password 'password'
连接后,您应该得到以下输出:
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
现在,使用以下命令创建一个新数据库:
> CREATE DATABASE mydb
要显示所有数据库,请运行以下命令:
> SHOW DATABASES
您应该得到以下输出:
name: databases
name
----
_internal
mydb
现在,使用以下命令退出 InfluxDB shell:
> exit
您还可以在不登录 InfluxDB 的情况下列出所有数据库,如下所示:
curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"
您应该得到以下输出:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}
结论
恭喜!您已经在CentOS 8上成功安装了InfluxDB。您现在可以使用InfluxDB来处理生产环境中的大量数据。