Как установить InfluxDB на CentOS 8

InfluxDB — это база данных временных рядов с открытым исходным кодом, разработанная компанией InfluxData. Она написана на языке Go и рассчитана на высокую нагрузку при записи и запросах. Она известна своей простотой и способностью работать в масштабе. Она может работать в различных операционных системах, а также поддерживает широкий спектр клиентских библиотек.

В этом руководстве мы расскажем, как установить базу данных временных рядов InfluxDB на CentOS 8.

Предварительные условия

  • Сервер под управлением 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 protected]
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

Далее вам нужно будет создать пользователя admin для аутентификации в InfluxDB. Вы можете создать его с помощью следующей команды:

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

На данном этапе InfluxDB защищена именем пользователя и паролем.

Работа с InfluxDB

Теперь вы можете подключиться к оболочке InfluxDB с помощью следующей команды:

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, выполнив следующую команду:

> 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"]]}]}]}

Заключение

Поздравляем! Вы успешно установили InfluxDB на CentOS 8. Теперь вы можете использовать InfluxDB для обработки большого количества данных в производственной среде.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *