GreptimeDB 使用指南 | 3 分钟快速下载启动时序数据库

本文主要是介绍GreptimeDB 使用指南 | 3 分钟快速下载启动时序数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GreptimeDB 是由 Rust 编写的云原生、分布式、融合存储和分析的开源时序数据库,主要面向拥有大量时序数据并且能够从时序性数据的分析结果中获益的行业,例如金融,物联网,工业、自动驾驶以及 IT 基础设施监控等行业或部门。GreptimeDB 自 2022 年 11 月在 GitHub 上开源,版本已从 v0.1 迭代到 v0.4,逐渐趋于成熟,v0.4 是第一个我们推荐可用于生产的版本,那就来看看如何快速的使用 GreptimeDB。

安装启动

首先是启动安装,GreptimeDB 目前支持三种方式来安装启动

  • 二进制直接启动
  • Docker 容器方式来启动
  • 在 Kuberenets 环境中启动(集群方式)
    在官网下载页面 可以找到三种方式的下载文件,下载中心里面包含了最新的稳定版本,当然对于想尝鲜的朋友,我们也提供了 Nightly builds 版本。

我们先以最新稳定的版本,二进制启动方式为例,笔者的设备是苹果 M1 芯片的,下载如下图的版本(大家需要根据自己的设备来选择对应的版本):

image1.png

下载之后的文件是 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.2USAGE:greptime [OPTIONS] <SUBCOMMAND>OPTIONS:-h, --help                     Print help information--log-dir <LOG_DIR>--log-level <LOG_LEVEL>-V, --version                  Print version informationSUBCOMMANDS:clidatanodefrontendhelp          Print this message or the help of the given subcommand(s)metasrvstandalone

可以看到我们下载的版本是 0.3.2。 GreptimeDB 开源版本就支持分布式,所以下载的程序可以以不同的组件运行,比如 datanodefrontend 或者 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 支持不同的连接协议,比如 MySQLPostgreSQLgRPC 等,对应了不同的端口,如果想修改默认端口,可以通过配置文件或者启动参数来设置,具体可以参考 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 GreptimeCopyright (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/ 来访问,如下图:

image2.png

Dashboard 支持执行 SQL,SQL 查询结果的视图,编写 Python Scripts 等,还也可以通过自带的 Playground 来体验 GreptimeDB 的功能。

下图是通过 Playground 里面的代码生成了一组测试数据,并查询之后的展示效果:
image3.png

结语

至此,GreptimeDB 已经完全安装启动成功,便可以通过自己常用的方式,无论是客户端、SDK 或者 API 方式来访问了。具体可以参考我们的使用文档:https://docs.greptime.com/getting-started/overview

这篇关于GreptimeDB 使用指南 | 3 分钟快速下载启动时序数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343953

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据