GREPTIMEDB QUICKSTART指南 - 从头开始​​无缝启动我们的时间序列数据库
#开源 #database #rust #greptime

GretpimedB是用Rust编写的云,分布式的,开源的时间序列数据库,无缝地集成了存储和分析。它主要迎合拥有大量时间序列数据并可以从该数据的分析结果中受益的行业,一些典型行业包括财务,物联网(物联网),自动驾驶和IT基础设施监控等。

自2022年11月在Github上以开源的方式发布以来,GreptimedB已从V0.1版本到V0.4,一直朝着成熟度发展。我们建议V0.4版本是第一个适合生产部署的产品。设置GREPTIMEDB很简单。让我们深入研究如何从头下载和启动GREPTIMEDB。

安装和启动

首先,您需要在环境中安装GretpimedB。

当前,您可以选择三种方法来安装GretpimedB:

  • 直接二进制启动
  • 通过Docker容器部署
  • 在Kubernetes上发布(用于群集模式)

您可以在我们的官方网站Greptime Download上找到这三种方法的下载文件。我们在那里提供最新的稳定版本,对于那些渴望体验最新的夜间版本版本的人也可以提供。

现在,我将使用针对Apple M1芯片组量身定制的最新稳定二进制二进制文件来演示安装。 (请确保您选择适合您设备的版本。)

Image description

下载后,您会收到'.tgz'压缩档案。

khaos@bogon ~/W/s/GreptimeDB> ls -lrth
-rw-r--r--@ 1 khaos  staff    50M Sep  5 16:46 greptime-darwin-arm64.tgz

您可以使用解压缩工具提取它,在这里我使用了tar命令行工具。

khaos@bogon ~/W/s/GreptimeDB> tar zxvf greptime-darwin-arm64.tgz
x greptime
khaos@bogon ~/W/s/GreptimeDB> ls -lrth
-rwxr-xr-x@ 1 khaos  staff   128M Jul  5 01:01 greptime*
-rw-r--r--@ 1 khaos  staff    50M Sep  5 16:46 greptime-darwin-arm64.tgz

检查帮助文档(如果您的操作系统阻止执行,则可以通过安全和隐私设置允许它):

khaos@bogon ~/W/s/GreptimeDB> ./greptime -help
greptimedb
branch: HEAD
commit: 4b580f40372c023120b4abf408caaaf8d2e06870
dirty: false
version: 0.3.2

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

从提供的文档中,我们可以看到下载的版本为v0.3.2。鉴于GREPTIMEDB是基于分布式体系结构构建的,因此开源版本允许模块化操作,使您可以将其作为单独的组件运行,例如datanodefrontendmetasrv。但是,如果愿意,也可以在独立模式下运行它,如以下示例:

khaos@bogon ~/W/s/GreptimeDB> ./greptime standalone start
2023-09-05T09:07:06.343240Z  INFO greptime: short_version: 0.3.2, full_version: greptimedb-HEAD-4b580f4
2023-09-05T09:07:06.343280Z  INFO greptime: command line arguments
2023-09-05T09:07:06.343286Z  INFO greptime: argument: ./greptime
2023-09-05T09:07:06.343292Z  INFO greptime: argument: standalone
2023-09-05T09:07:06.343296Z  INFO greptime: argument: start
...
2023-09-05T09:07:06.351417Z  INFO cmd::standalone: Datanode instance started
2023-09-05T09:07:06.351431Z  INFO frontend::server: Starting POSTGRES_SERVER at 127.0.0.1:4003
2023-09-05T09:07:06.351533Z  INFO servers::server: Postgres server started at 127.0.0.1:4003
2023-09-05T09:07:06.351561Z  INFO frontend::server: Starting OPENTSDB_SERVER at 127.0.0.1:4242
2023-09-05T09:07:06.351595Z  INFO servers::server: OpenTSDB server started at 127.0.0.1:4242
2023-09-05T09:07:06.351608Z  INFO frontend::server: Starting PROM_SERVER at 127.0.0.1:4004
2023-09-05T09:07:06.351760Z  INFO servers::prom: Prometheus API server is bound to 127.0.0.1:4004
2023-09-05T09:07:06.351776Z  INFO frontend::server: Starting HTTP_SERVER at 127.0.0.1:4000
2023-09-05T09:07:06.377584Z  INFO servers::http: Enable dashboard service at '/dashboard'
2023-09-05T09:07:06.377693Z  INFO servers::http: HTTP server is bound to 127.0.0.1:4000
2023-09-05T09:07:06.377704Z  INFO frontend::server: Starting MYSQL_SERVER at 127.0.0.1:4002
2023-09-05T09:07:06.377730Z  INFO servers::server: MySQL server started at 127.0.0.1:4002
2023-09-05T09:07:06.377750Z  INFO frontend::server: Starting GRPC_SERVER at 127.0.0.1:4001
2023-09-05T09:07:06.377768Z  INFO servers::grpc: gRPC server is bound to 127.0.0.1:4001

看到上述消息后,恭喜,您已经成功点燃了GretepimedB。

GretpimedB支持各种连接协议,包括MySQLPostgreSQLgRPC,每个连接协议都分配给不同的端口。如果您想修改默认端口,则可以通过配置文件或直接通过启动参数完成。有关更多详细信息,请参阅Greptime Configuration Guide

建立连接

接下来,您可以使用您熟悉的客户端连接到GreptimedB。在这里,我们聚焦MySQL连接:

khaos@bogon ~/W/website (sync-biweekly-report)> mysql -h 127.0.0.1 -P 4002
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.10-alpha-msql-proxy Greptime

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

一旦通过上述消息打招呼,您就会正式加入!现在您可以使用默认表探索:

mysql> show tables;
+---------+
| Tables  |
+---------+
| numbers |
| scripts |
+---------+
2 rows in set (0.00 sec)

在上述结果中,numbers是一个内置的测试表,而scripts表旨在存储自定义Python脚本。有关更多详细信息,您可以参考https://docs.greptime.com/user-guide/scripts-&-functions/overview

仪表板

GretpimedB使用内置仪表板增强了用户体验,从而授予用户轻松的Web访问。导航到Greptime Dashboard探索:

Image description

无论您是制作SQL命令,可视化查询结果还是在Python中拼写,仪表板都可以覆盖您。您还可以通过我们的Playground GreptimePlay体验GretepimedB的功能和功能。

偷看,这是通过操场制作和显示的测试数据集:

Image description

结论

在这一点上,GREPTIMEDB已成功安装和启动。您可以使用您的首选方法(无论是通过客户端,SDK还是API)访问它。

有关更多详细信息,您可以参考我们的文档:https://docs.greptime.com/getting-started/overview