如何在CentOS 8/RHEL 8上安装InfluxDB

时间:2020-02-23 14:30:42  来源:igfitidea点击:

如何在RHEL 8/CentOS 8上安装InfluxDB? InfluxDB是一个用Go语言编写的开源时间序列数据库,经过优化,可快速,高可用性地存储和检索时间序列数据以进行度量分析。

在RHEL/CentOS 8上安装InfluxDB

Influxdata提供了用于在RHEL 8/CentOS 8上安装InfluxDB的存储库。由于CentOS 8的存储库仍然不可用,因此我们将为RHEL 7使用一个存储库。

使用以下命令将InfluxDB存储库添加到系统:

sudo tee  /etc/yum.repos.d/influxdb.repo<<EOF
[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/7/x86_64/stable/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

更新缓存以确认存储库运行正常:

sudo dnf makecache

然后安装influxDB:

sudo dnf -y install influxdb

检查已安装的软件包详细信息。

$rpm -qi influxdb 
 Name        : influxdb
 Version     : 1.7.8
 Release     : 1
 Architecture: x86_64
 Install Date: Mon 07 Jan 2019 01:37:16 PM EAT
 Group       : default
 Size        : 105943586
 License     : Proprietary
 Signature   : RSA/SHA256, Tue 27 Aug 2019 11:59:21 PM EAT, Key ID 684a14cf2582e0c5
 Source RPM  : influxdb-1.7.8-1.src.rpm
 Build Date  : Wed 21 Aug 2019 05:07:01 AM EAT
 Build Host  : 8d1b307babf6
 Relocations :/
 Packager    : theitroad@localhost
 Vendor      : InfluxData
 URL         : https://influxdata.com
 Summary     : Distributed time-series database.
 Description :
 Distributed time-series database.

在RHEL 8/CentOS 8上启动InfluxDB服务

在CentOS 8/RHEL 8上启动并启用InfluxDB服务:

sudo systemctl enable --now 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 Tue 2019-09-24 22:12:01 EAT; 23s ago
      Docs: https://docs.influxdata.com/influxdb/
  Main PID: 29345 (influxd)
     Tasks: 8 (limit: 11512)
    Memory: 31.4M
    CGroup: /system.slice/influxdb.service
            └─29345 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
........................................................................

在CentOS 8/RHEL 8上配置InfluxDB防火墙

默认情况下,InfluxDB使用以下网络端口:TCP端口8086用于通过InfluxDB进行客户端-服务器通信HTTP APITCP端口8088用于RPC服务进行备份和还原。

要在防火墙上打开它,请使用以下命令:

sudo firewall-cmd --add-port=8086/tcp --permanent
sudo firewall-cmd --reload

可以通过更改文件/etc/influxdb/influxdb.conf来修改端口映射。

如果我们对配置文件进行了任何更改,请重新启动influxdb服务。

sudo systemctl restart influxdb

配置InfluxDB http认证

如果需要http认证,请修改influxdbhttp部分以包含以下内容。

$sudo vi /etc/influxdb/influxdb.conf

[http]
 auth-enabled = true

重新启动InfluxDB服务。

sudo systemctl restart influxdb

然后使用身份验证密码创建用户:

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER \
username WITH PASSWORD 'strongpassword' WITH ALL PRIVILEGES"

更换:

用户名和我们自己的用户名
使用我们自己的密码的strongpassword(请注意,密码需要单引号)

现在,每当需要在终端上运行任何influxdb命令时,都需要使用-username指定用户名,并使用-passwordoptions指定密码。

influx -username 'username' -password 'password'

对于curl,请使用-u指定用冒号分隔的用户名和密码。

curl -G http://localhost:8086/query -u username:password --data-urlencode "q=SHOW DATABASES"

默认情况下,influxdb服务正在侦听端口8086上的所有接口。

$ss -tunelp | grep 8086
 tcp   LISTEN  0  128     *:8086 *:* users:(("influxd",pid=2072,fd=5)) uid:985 ino:37787 sk:6 v6only:0 <->

现在,我们已经在RHEL 8上安装了InfluxDB。