安裝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

相關文章
相關標籤/搜索