Nutzungsanleitung|So speichern Sie GreptimeDB-Daten in Alibaba Cloud OSS

einführen

GreptimeDB wurde vom ersten Tag seiner Geburt an als verteilte Zeitreihendatenbank für die Infrastruktur des Cloud-Zeitalters definiert. Es kann Daten auf günstigen Objektspeichern wie AWS S3 oder Alibaba Cloud OSS speichern.

In diesem Artikel wird detailliert beschrieben, wie das geht.

Schritt 1: Laden Sie GreptimeDB herunter

Zuerst müssen Sie eine GreptimeDB-Instanz herunterladen. Sie können die gepackte Binärdatei entsprechend Ihrer laufenden Plattform von der Greptime-Ressourcenseite herunterladen oder das Docker-Image verwenden.

Weitere Installationsmethoden finden Sie in der Installationsdokumentation .

In diesem Artikel wird die Verwendung des von uns bereitgestellten Installationsskripts demonstriert. Öffnen Sie zunächst die Befehlszeile, geben Sie ein temporäres Arbeitsverzeichnis ein und führen Sie das folgende Skript aus, um automatisch eine greptime-Instanz herunterzuladen und lokal zu installieren:

curl -fsSL \
  https://raw.githubusercontent.com/greptimeteam/greptimedb/develop/scripts/install.sh | sh

Was hier heruntergeladen wird, ist die Nightly-Build-Version, die nur zum Testen verwendet wird. Wenn Sie einen stabilen Betrieb in der Produktion benötigen, laden Sie bitte auch die offiziell veröffentlichte Version herunter (zum Zeitpunkt des Schreibens dieses Artikels ist es v0.4.0).

Wenn alles gut geht, sollten Sie eine Ausgabe ähnlich der folgenden sehen:

x greptime-darwin-arm64-v0.4.0-nightly-20231002/
x greptime-darwin-arm64-v0.4.0-nightly-20231002/greptime
Run './greptime --help' to get started

greptimeSie können diese Binärdatei im aktuellen Verzeichnis sehen:

-rwxr-xr-x  1 dennis  staff   134M Oct  2 10:08 greptime

Führen Sie ./greptime --helpden Befehl aus, um die Hilfeinformationen anzuzeigen:

greptimedb
branch: develop
commit: 201acd152db2a961d804b367e23d2224b4397de8
dirty: false
version: 0.4.0-nightly

USAGE:
    greptime [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -h, --help                     Print help information
        --log-dir <LOG_DIR>
        --log-level <LOG_LEVEL>
    -V, --version                  Print version information

SUBCOMMANDS:
    cli
    datanode
    frontend
    help          Print this message or the help of the given subcommand(s)
    metasrv
    standalone

Der zweite Schritt besteht darin, die OSS-Informationen zu konfigurieren

Gehen Sie davon aus, dass Sie einen Alibaba Cloud OSS-Bucket erstellt haben und bereits über die entsprechende Zugriffsschlüssel-ID/das entsprechende Zugriffsschlüsselgeheimnis und andere Authentifizierungsinformationen verfügen. Als Nächstes treten Sie in die Konfigurationsphase ein.

Zunächst können Sie die Beispielkonfigurationsdatei standalone.example.toml des Standalone-Standalone-Modus aus unserem GitHub-Repository herunterladen , vorausgesetzt, wir speichern sie als config.toml:

curl https://raw.githubusercontent.com/GreptimeTeam/greptimedb/develop/config/standalone.example.toml > config.toml

Bearbeiten Sie als Nächstes config.tomlund konzentrieren Sie sich dabei auf einige davon [storage]. Das Beispiel ist unten dargestellt:

[storage]
# The working home directory.
data_home = "/tmp/greptimedb/"
# Storage type.
type = "File"
# TTL for all tables. Disabled by default.
# global_ttl = "7d"
# Cache configuration for object storage such as 'S3' etc.
# cache_path = "/path/local_cache"
# The local file cache capacity in bytes.
# cache_capacity = "256Mib"

Konfigurieren Sie den lokalen Festplattenmodus und legen Sie das Datenbankstammverzeichnis auf fest /tmp/greptimedb/(wenn es sich um eine Produktionsumgebung handelt, ändern Sie es bitte in ein nicht temporäres Verzeichnis).

Unter Bezugnahme auf das Konfigurationsdokument können Sie es ändern, um die Daten auf Alibaba Cloud OSS zu speichern:

[storage]
# The working home directory.
data_home = "/tmp/greptimedb/"
# Storage type.
type = "Oss"
bucket = "greptimedb-test"
root = "/oss-test"
region = "cn-hangzhou"
access_key_id = "***********"
secret_access_key = "*********************"
# endpoint = ""

Hier sind einige wichtige Parameter, die entsprechend Ihrer spezifischen Verwendung durch Ihre OSS-Bucket-Informationen ersetzt werden können:

  • bucket:Der Name des erstellten Buckets;

  • root: Das Speicherverzeichnis der Datenbankdaten, das hier so festgelegt wird, dass es oss-testrelativ zum Stammverzeichnis des Buckets beginnt.

  • access_key_id: Geheime Zugangs-ID für den OSS-Zugriff;

  • secret_access_key: Geheimer OSS-Zugriffsschlüssel;

  • Bei Bedarf festlegen regionOder endpoint, der von uns getestete Bucket wurde in Hangzhou erstellt, daher ist die Region auf ` festgelegt.cn-hangzhouendpointhttps://oss-cn-hangzhou.aliyuncs.com/

Schritt 3: Starten und testen

Nach der korrekten Konfiguration können Sie mit dem Testen beginnen. Führen Sie den folgenden Befehl aus, um die eigenständige Version von GreptimeDB zu starten:

./greptime standalone start -c config.toml

Über die Option legen wir -cdie Konfigurationsdatei fest. Wenn es normal startet, sehen Sie am Ende ein Protokoll ähnlich dem folgenden:

2023-10-11T07:33:34.832355Z  INFO frontend::server: Starting HTTP_SERVER at 127.0.0.1:4000
2023-10-11T07:33:34.855511Z  INFO servers::http: Enable dashboard service at '/dashboard'
2023-10-11T07:33:34.856408Z  INFO servers::http: HTTP server is bound to 127.0.0.1:4000
2023-10-11T07:33:34.856742Z  INFO frontend::server: Starting GRPC_SERVER at 127.0.0.1:4001
2023-10-11T07:33:34.857168Z  INFO servers::grpc: gRPC server is bound to 127.0.0.1:4001
2023-10-11T07:33:34.859433Z  INFO frontend::server: Starting MYSQL_SERVER at 127.0.0.1:4002
2023-10-11T07:33:34.859453Z  INFO servers::server: MySQL server started at 127.0.0.1:4002
2023-10-11T07:33:34.859465Z  INFO frontend::server: Starting OPENTSDB_SERVER at 127.0.0.1:4242
2023-10-11T07:33:34.859485Z  INFO servers::server: OpenTSDB server started at 127.0.0.1:4242
2023-10-11T07:33:34.859490Z  INFO frontend::server: Starting POSTGRES_SERVER at 127.0.0.1:4003
2023-10-11T07:33:34.859500Z  INFO servers::server: Postgres server started at 127.0.0.1:4003

GreptimeDB unterstützt verschiedene Protokollports und wird normal gebunden und überwacht. Wir können über die Browseradresse http://localhost:4000/dashboard/ auf das von GreptimeDB selbst bereitgestellte Dashboard zugreifen , wie unten gezeigt.

Sie können hier auch SQL/Python/PromQL und andere Abfrageanweisungen ausführen.

Als nächstes versuchen wir, eine Tabelle zu erstellen, dann Daten zu schreiben und abzufragen. Diese SQL-Anweisungen können Sie direkt im Dashboard-Fenster ausführen:

CREATE TABLE IF NOT EXISTS system_metrics (
    host STRING,
    idc STRING,
    cpu_util DOUBLE,
    memory_util DOUBLE,
    disk_util DOUBLE,
    ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY(host, idc),
    TIME INDEX(ts)
);

INSERT INTO system_metrics
VALUES
    ("host1", "idc_a", 11.8, 10.3, 10.3, 1667446797450),
    ("host1", "idc_a", 80.1, 70.3, 90.0, 1667446797550),
    ("host1", "idc_b", 50.0, 66.7, 40.6, 1667446797650),
    ("host1", "idc_b", 51.0, 66.5, 39.6, 1667446797750),
    ("host1", "idc_b", 52.0, 66.9, 70.6, 1667446797850),
    ("host1", "idc_b", 53.0, 63.0, 50.6, 1667446797950),
    ("host1", "idc_b", 78.0, 66.7, 20.6, 1667446798050),
    ("host1", "idc_b", 68.0, 63.9, 50.6, 1667446798150),
    ("host1", "idc_b", 90.0, 39.9, 60.6, 1667446798250);
    
SELECT * FROM system_metrics;    

Wenn alles gut geht, können Sie die Ergebnisse der Abfrage sehen. Ein Beispiel ist wie folgt:

Wir können uns bei der Alibaba Cloud OSS-Konsole anmelden, um die geschriebenen Daten anzuzeigen:

Um die Abfrageleistung zu verbessern, wird empfohlen, das lokale Datei-Caching zu aktivieren:

cache_path = "/path/local_cache"
cache_capacity = "256MiB"

cache_pathGeben Sie das Verzeichnis für den lokalen Cache an und cache_capacitygeben Sie die maximale Größe an, die vom lokalen Cache verwendet wird.

Viel Spaß! ◔.̮◔✧

Microsoft startet neue „Windows App“ .NET 8 offiziell GA, die neueste LTS-Version Xiaomi gab offiziell bekannt, dass Xiaomi Vela vollständig Open Source ist und der zugrunde liegende Kernel NuttX Alibaba Cloud 11.12 ist. Die Ursache des Fehlers wurde offengelegt: Access Key Service (Access Schlüssel) Ausnahme Vite 5 offiziell veröffentlichter GitHub-Bericht: TypeScript ersetzt Java und wird zur drittbeliebtesten Sprache. Bietet eine Belohnung von Hunderttausenden Dollar für das Umschreiben von Prettier in Rust. Den Open-Source-Autor fragen: „Ist das Projekt noch am Leben?“ Sehr unhöflich und respektloses Bytedance: Verwendung von KI zur automatischen Optimierung von Linux-Kernel-Parameteroperatoren. Zauberoperation: Trennen Sie das Netzwerk im Hintergrund, deaktivieren Sie das Breitbandkonto und zwingen Sie den Benutzer, das optische Modem zu wechseln
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/6839317/blog/10120278
Recomendado
Clasificación