Cách cài đặt InfluxDB trên CentOS 8

theanh

Administrator
Nhân viên
InfluxDB là cơ sở dữ liệu chuỗi thời gian và mã nguồn mở do InfluxData phát triển. Cơ sở dữ liệu này được viết bằng Go và được thiết kế để xử lý tải truy vấn và ghi cao. Cơ sở dữ liệu này được biết đến với tính đơn giản và khả năng hoạt động ở quy mô lớn. Cơ sở dữ liệu này có thể chạy trên nhiều hệ điều hành và cũng hỗ trợ nhiều thư viện máy khách.

Hướng dẫn này sẽ giải thích cách cài đặt cơ sở dữ liệu chuỗi thời gian InfluxDB trên CentOS 8.

Điều kiện tiên quyết​

  • Máy chủ chạy CentOS 8.
  • Mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt InfluxDB​

Theo mặc định, InfluxDB không khả dụng trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần tạo kho lưu trữ cho InfluxDB. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/yum.repos.d/influxdb.repo
Thêm nội dung sau dòng:
Mã:
[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
Lưu và đóng tệp sau đó cập nhật bộ đệm kho lưu trữ bằng lệnh sau:
Mã:
dnf makecache
Tiếp theo, cài đặt InfluxDB bằng lệnh sau lệnh:
Mã:
dnf -y install influxdb
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản InfluxDB đã cài đặt bằng lệnh sau:
Mã:
rpm -qi influxdb
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
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 : [emailprotected]
Vendor : InfluxData
URL : https://influxdata.com
Summary : Distributed time-series database.
Description :
Distributed time-series database.

Quản lý dịch vụ InfluxDB​

Bạn có thể khởi động và dừng dịch vụ InfluxDB bằng lệnh sau:
Mã:
systemctl start influxdb
systemctl stop influxdb
Để khởi động InfluxDB khi khởi động lại hệ thống, hãy chạy lệnh sau lệnh:
Mã:
systemctl enable influxdb
Để xác minh trạng thái của InfluxDB, hãy chạy lệnh sau:
Mã:
systemctl status influxdb
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
? 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=>
Theo mặc định, InfluxDB lắng nghe trên cổng 8086. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -tunelp | grep 8086
Bạn sẽ thấy thông báo sau đầu ra:
Mã:
tcp LISTEN 0 128 *:8086 *:* users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0

Bật xác thực​

Theo mặc định, InfluxDB được cấu hình để kết nối mà không cần xác thực. Vì vậy, bạn nên bảo mật InfluxDB bằng tên người dùng và mật khẩu.

Để thực hiện, bạn sẽ cần bật xác thực trong tệp influxdb.conf.
Mã:
nano /etc/influxdb/influxdb.conf
Thay đổi dòng sau trong phần [http]:
Mã:
auth-enabled = true
Lưu và đóng tệp, sau đó khởi động lại InfluxDB để áp dụng các thay đổi:
Mã:
systemctl restart influxdb
Tiếp theo, bạn sẽ cần tạo một người dùng quản trị để xác thực InfluxDB. Bạn có thể tạo nó bằng lệnh sau:
Mã:
curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"
Tại thời điểm này, InfluxDB được bảo mật bằng tên người dùng và mật khẩu.

Làm việc với InfluxDB​

Bây giờ, bạn có thể kết nối với shell InfluxDB bằng lệnh sau lệnh:
Mã:
influx -username 'admin' -password 'password'
Sau khi kết nối, bạn sẽ nhận được kết quả sau:
Mã:
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
Bây giờ, hãy tạo một cơ sở dữ liệu mới bằng cách sử dụng lệnh sau lệnh:
Mã:
> CREATE DATABASE mydb
Để hiển thị tất cả các cơ sở dữ liệu, hãy chạy lệnh sau:
Mã:
> SHOW DATABASES
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
name: databases
name
----
_internal
mydb
Bây giờ, thoát khỏi shell InfluxDB bằng lệnh sau:
Mã:
> exit
Bạn cũng có thể liệt kê tất cả các cơ sở dữ liệu mà không cần đăng nhập vào InfluxDB như được hiển thị bên dưới:
Mã:
curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"
Bạn sẽ nhận được kết quả sau:
Mã:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công InfluxDB trên CentOS 8. Bây giờ bạn có thể sử dụng InfluxDB để xử lý lượng dữ liệu lớn trong môi trường sản xuất.
 
Back
Bên trên