GreptimeDB 是由 Rust 编写的云原生、分布式、融合存储和分析的开源时序数据库,主要面向拥有大量时序数据并且能够从时序性数据的分析结果中获益的行业,例如金融,物联网,工业、自动驾驶以及 IT 基础设施监控等行业或部门。GreptimeDB 自 2022 年 11 月在 GitHub 上开源,版本已从 v0.1 迭代到 v0.4,逐渐趋于成熟,v0.4 是第一个我们推荐可用于生产的版本,那就来看看如何快速的使用 GreptimeDB。
安装启动
首先是启动安装,GreptimeDB 目前支持三种方式来安装启动
我们先以最新稳定的版本,二进制启动方式为例,笔者的设备是苹果 M1 芯片的,下载如下图的版本(大家需要根据自己的设备来选择对应的版本):
下载之后的文件是 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
复制代码
可以看到我们下载的版本是 0.3.2。 GreptimeDB 开源版本就支持分布式,所以下载的程序可以以不同的组件运行,比如 datanode
、 frontend
或者 metasrv
,当然也可以以单机模式运行,即 `standalone`,为了快速体验 GreptimeDB,我们就以单机模式为例:
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
复制代码
看到上面的信息,恭喜你,说明已经启动成功。
GreptimeDB 支持不同的连接协议,比如 MySQL
、PostgreSQL
、gRPC
等,对应了不同的端口,如果想修改默认端口,可以通过配置文件或者启动参数来设置,具体可以参考 https://docs.greptime.com/user-guide/operations/configuration
连接
接下来,可以通过你常用的客户端来连接 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)
Dashboard
GreptimeDB 还自带了一个 dashboard,方便用户快捷的通过 web 访问数据库,默认可以通过 http://127.0.0.1:4000/dashboard/
来访问,如下图:
Dashboard 支持执行 SQL,SQL 查询结果的视图,编写 Python Scripts 等,还也可以通过自带的 Playground 来体验 GreptimeDB 的功能。
下图是通过 Playground 里面的代码生成了一组测试数据,并查询之后的展示效果:
结语
至此,GreptimeDB 已经完全安装启动成功,便可以通过自己常用的方式,无论是客户端、SDK 或者 API 方式来访问了。具体可以参考我们的使用文档:https://docs.greptime.com/getting-started/overview
评论