安装presto sql引擎访问kudu数据

    Presto是一种用于大数据的高性能分布式SQL查询引擎。其架构容许用户查询各类数据源,如Hadoop,AWS S3,Alluxio,MySQL,Cassandra,Kafka和MongoDB,甚至能够在单个查询中查询来自多个数据源的数据,真是功能强大。java

    这里梳理一下安装过程,官网http://prestodb.github.io/,上篇已经写了怎么安装kudu,之下是我安装presto的过程:node

    在官网先下载presto-server-0.225.tar.gz和presto-cli-0.225-executable.jargit

    解压以后,在该文件夹下添加相应的配置:github

在 presto-server-0.90 目录建立 etc 目录,并建立如下文件:sql

  • node.properties:每一个节点的环境配置
  • jvm.config:jvm 参数
  • config.properties:配置 Presto Server 参数
  • log.properties:配置日志等级
  • Catalog Properties:Catalog 的配置

    etc/node.properties 示例配置以下:架构

node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data

参数说明:jvm

  • node.environment:环境名称。一个集群节点中的全部节点的名称应该保持一致。
  • node.id:节点惟一标识的名称。
  • node.data-dir:数据和日志存放路径。

    etc/jvm.config 示例配置以下:分布式

-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M

    etc/config.properties 包含 Presto Server 相关的配置,每个 Presto Server 能够通时做为 coordinator 和 worker 使用。oop

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8090
discovery-server.enabled=true
discovery.uri=http://cdh1:8090

参数说明:性能

  • coordinator:Presto 实例是否以 coordinator 对外提供服务
  • node-scheduler.include-coordinator:是否容许在 coordinator 上进行调度任务
  • http-server.http.port:HTTP 服务的端口
  • discovery-server.enabled:是否使用 Discovery service 发现集群中的每个节点。
  • discovery.uri:Discovery server 的 url

    不要加这条配置task.max-memory=1GB,否则会报错,具体不知道为何解析有问题。

    etc/log.properties 能够设置某一个 java 包的日志等级:

com.facebook.presto=INFO

    关于 Catalog 的配置,首先须要建立 etc/catalog 目录,而后根据你想使用的链接器来建立对应的配置文件,好比,你想使用 jmx 链接器,则建立 jmx.properties:

connector.name=jmx

    若是你想使用 kudu 的链接器,则在 etc/catalog 建立 kudu.properties:

connector.name=kudu
kudu.client.master-addresses=localhost:7051

    能够看到在presto的根目录下有不少链接器:

    这里咱们启动一下sudo bin/launcher run,sudo bin/launcher start可与后台运行

    而后咱们可使用presto-cli-0.225-executable.jar来操做,固然我把这么长的jar缩短一下改为presto-cli,为了方面用

    ./presto-cli --server localhost:8090 --catalog kudu --schema default

    上面那那个users是我这样建立的:

    而后像使用sql查询同样,插入两条数据而且查询:

    未完待续,后面复杂的使用再写!    

参考:

http://prestodb.github.io/

https://yq.aliyun.com/articles/25580

https://github.com/MartinWeindel/presto-kudu

相关文章
相关标签/搜索