ES+PrestoDB

ES + PrestoDB

主题目的

  • Elastic Stack架构概要与应用场景
  • PrestoDB架构概要与应用场景
  • 搭建PrestoDB运行环境
  • ES与Presto混搭使用

Elastic Stack 架构概要

  • Beats以轻量化方式收集、解析和传输数据。

  • Elasticsearch 分布式、RESTful 风格的搜索和分析及存储。

  • Kibana 实现数据可视化。在 Elastic Stack 中进行导航。

  • Logstash 采集、转换、充实,然后输出。

    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Elastic Stack 应用场景

  • 全文检索
  • 日志分析
  • 指标监控
  • 大数据查询/分析/计算
  • 数据库查询加速
  • 机器学习

ElasticSearch的安装

略,已专门单独总结 ES集群搭建

Head插件谷歌浏览器版本的安装

  • 在谷歌浏览器的扩展程序里搜索“ElasticSearch Head”,安装添加插件即可。也可其他方式安装。
  • 在浏览器插件程序里点击ElasticSearch Head图标,在打开的页面里对启动的ES进行连接。

在这里插入图片描述

DBEAVER 数据库客户端管理器

DBEAVER 下载及安装
  • 官网下载最新版本 https://dbeaver.io/

  • 绿色版,解压即可,然后点击dbeaver.exe。

DBEAVER连接ES
  • 新建连接,找到ES,进行连接配置。如启动ES的虚拟机IP为192.168.173.129。则配置如下:

在这里插入图片描述

DBEAVER连接连接presto
  • 新建连接,找到prestoDB,进行连接配置,注意用户名默认输入presto。

在这里插入图片描述

PrestoDB

PrestoDB说明
  • Presto技术栈 PrestoDB 严格意义上不算数据库,因为不存储数据,更是文件查询器,可连接几十种数据源,数据MPP架构。如下图可以从ES中提取数据而不一定是HDFS。
PrestoDB架构概要

在这里插入图片描述

PrestoDB核心概念
  • coordinator 协调节点
  • worker 计算节点
  • connector 数据源连接器
  • mpp 大规模并行计算执行方式
PrestoDB应用场景
  • OLAP分析
  • Adhoc查询
  • Jdbc轻度并行查询
  • 支持多种数据源
presto下载安装:

官网下载:https://prestodb.io/download.html

安装及说明参考:(官网有详细的安装介绍)

https://blog.csdn.net/qq_33884969/article/details/108284558

https://zhuanlan.zhihu.com/p/111054577

准备工作。

CentOS7,JDK8。

创建prestodb文件夹
  • root用户下创建文件夹prestodb,并将prestodb的安装包如presto-server-0.253.tar.gz拖拽至此。

  • 解压presto-server-0.253.tar.gz

    [root@localhost prestodb]# tar -zxvf presto-server-0.253.tar.gz 
    
  • 将解压后的文件夹改名

    [root@localhost prestodb]# mv presto-server-0.253 presto-8080
    
  • 创建日志文件路径及数据文件路径

    [root@localhost prestodb]# mkdir data-8080
    [root@localhost prestodb]# mkdir logs-8080
    
  • 执行完毕如下:

[root@localhost prestodb]# ls
data-8080  logs-8080  presto-8080  presto-cli-0.253-executable.jar  presto-jdbc-0.253.jar  presto-server-0.253.tar.gz

此图为讲解时用到,内容仅供参考

在这里插入图片描述

PrestoDB配置文件的添加
新建etc文件夹
  • 在上一步解压后的文件夹presto-8080下新建etc文件夹
[root@localhost presto-8080]# mkdir etc
新建node.properties
  • 在etc文件夹下新建node.properties
[root@localhost etc]# vim node.properties
node.environment=production
node.id=data-8080
#数据目录
node.data-dir=/prestodb/data-8080
新建jvm.config
  • 在etc文件夹下新建jvm.config
[root@localhost etc]# vim jvm.config				

注意 -Xmx的取值等,需时虚拟机配置而定。

-server
-Xmx4G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
#默认参数增加
-Djdk.attach.allowAttachSelf=true
新建 config.properties
  • 在etc文件夹下新建config.properties
[root@localhost etc]# config.properties
coordinator=true
#启用内部work职责
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=2GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://localhost:8080
PrestoDB的启动
  • 切换到bin目录下
[root@localhost etc]# cd ..
[root@localhost presto-8080]# ls
bin  etc  lib  NOTICE  plugin  README.txt
[root@localhost presto-8080]# cd bin
[root@localhost bin]# 
  • 执行启动命令 ./launcher run --verbose
[root@localhost bin]# ./launcher run --verbose
  • 启动成功后访问ui地址

http://192.168.173.135:8080/ui/

在这里插入图片描述

  • 利用DBeaver连接PrestoDB,上面已做介绍

在这里插入图片描述

  • 执行语句查看系统库下的schema

    show schemas from "system"
    

在这里插入图片描述

PrestoDB 连接ES

创建catalog文件夹
  • 在上一步创建的etc文件夹下创建catalog文件夹

    [root@localhost etc]# mkdir catalog
    
  • 进入catalog目录,配置ES数据源,以为例(其它数据源配置请参考官方文档)

    在catalog下创建 elasticsearch-7.11.1.properties

    [root@localhost catalog]# vim elasticsearch-7.11.1.properties
    
    connector.name=elasticsearch
    elasticsearch.host=192.168.173.129
    elasticsearch.port=9200
    elasticsearch.default-schema-name=default
    
    [root@localhost catalog]# mv elasticsearch-7.11.1.properties es01.properties
    
重启PrestoDB
[root@localhost bin]# ./launcher run --verbose

执行多表查询

可以执行多表查询及字段不再大小写敏感

select a.flightnum, b.flightnum
from 
es01.default.kibana_sample_data_flights as a,
es01.default.kibana_sample_data_flights as b

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值