Presto

1 presto概述

        presto 是 分布式 SQL 查询引擎

        

2 核心概念

  1. 协调者     coordinator   
    1. 解析语句
    2. 规划查询
    3. 管理work节点
    4. 使用REST API与work节点通信,从work节点获取结果并最终返回给客户端
  2. 工作者      work
    1. 执行任务
    2. 处理数据
    3. 从connector获取数据并相互交换中间数据
    4. work工作进程启动时 ,它会将自己告诉 协调器 中的 发现服务服务器discover,这使得协调器能够发现work节点
    5. 使用REST API与work/coordinator节点通信
  3. 连接器 connector
    1. 使presto适应hive或RDBMS等数据源,可以类比数据库驱动一样考虑connector
  4. catalog
    1. 每个catalog目录文件,与  连接器 + Schema 相关联
    2. 可配置多个连接器
    3. hive连接器
      1. mysql连接器
      2. 第三方连接器
      3. 多连接器配置,可以实现 同一个SQL查询中,查询两个hive集群数据
  5. Schema
    1. 表的组织形式
    2. catalog 和 schema 定义了可查询的表
  6. 阶段 stage
    1. 执行查询时,通过执行分解为阶段层次结构来实现
    2. 例如:
      1. 如果 Presto 需要从存储在 Hive 中的 10 亿行中聚合数据,
        它会通过创建一个根阶段来聚合其他几个阶段的输出,所有这些阶段都旨在实现分布式查询计划的不同部分。
  7. 任务 task
    1. 阶段转化为任务,然后执行或处理拆分
  8. 拆分 split
    1. 对较大数据集的部分拆分进行操作
  9. 驱动 driver
    1. task包含一个或多个driver。driver对数据进行操作并组合操作符以产生输出。

   2 安装

          集群部署:

集群规划:

        7个节点,中选出5个节点,避开nn、rm等关键节点。

         1个coordinator,4个work 

                        coordinator :

  •  config.properties

                        

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8082
query.max-memory=120GB
query.max-memory-per-node=20GB
query.max-total-memory-per-node=32GB
query.max-total-memory=270GB
query.low-memory-killer.policy=total-reservation-on-blocked-nodes
discovery-server.enabled=true
discovery.uri=http://192.168.129.8:8082
  •  jvm.config
-server
-Xmn10G
-Xmx80G
-XX:+UseG1GC
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
  • log.properties
com.facebook.presto=INFO
  • node.properties
node.environment=nf_production
node.id=dhc8
node.data-dir=/data/presto/data

                        work:

  •  config.properties

                        

coordinator=false
http-server.http.port=8082
query.max-memory=120GB
query.max-memory-per-node=20GB
query.max-total-memory-per-node=32GB
query.max-total-memory=270GB
query.low-memory-killer.policy=total-reservation-on-blocked-nodes
discovery.uri=http://192.168.129.8:8082
  •  jvm.config
-server
-Xmn10G
-Xmx80G
-XX:+UseG1GC
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
  • log.properties
com.facebook.presto=INFO
  • node.properties
node.environment=nf_production
node.id=dhc3
node.data-dir=/data/presto/data

           catalog

  • hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://nfcls8:9083
hive.config.resources=/data/bigdata/server/hadoop-2.7.7/etc/hadoop/core-site.xml,/data/bigdata/server/hadoop-2.7.7/etc/hadoop/hdfs-site.xml

注:presto节点需要安装在Hadoop集群节点上,避开Nn/rm等关键组件节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值