Presto 环境搭建
1. Presto简介
Facebook presto是什么,继Facebook创建了HIVE神器后的又一以SQL语言作为接口的分布式实时查询引擎,可以对PB级的数据进行快速的交互式查询。它支持标准的ANSI SQL.包含查询,聚合,JOIN以及窗口函数等。除了Facebook这个创造都在使用外,国内像京东,美团等也都有广泛的使用。对于英文不好的同学可以访问由京东创建的这个中文翻译站点:http://prestodb-china.com/,只是这个版本才0.100,现在最新版已到0.176。
2. Presto结构
Coordinator: 接入接口,解析SQL语句,生成查询计划,任务分发等。
Worker:负责与数据的读写交互以及执行查询计划
值得一提的是Presto以插件形式对数据存储层进行了抽象,它叫做连接器,如:Cassandra Connector,Hive Connector,MySQL Connector等,可以看出它不仅默认提供了Hadoop相关组件的连接器,还提供了Mysql, Postgresql等RDBMS的连接器,同时也可以方便的通过自定义连接器开发,达到适用于不同数据存储层的扩展目的。
Presto提供以下几种类型的使用接口:
Presto命令行
JDBC驱动
3.安装Presto
3.1 环境要求
Linux or Mac OS X
Java 8, 64-bit
主机IP | coordinator | worker |
---|---|---|
10.0.10.82 | true | true |
10.0.10.83 | false | true |
10.0.10.85 | false | true |
10.0.10.84 | false | true |
10.0.10.86 | false | true |
3.2 下载presto
下载presto-server-0.175.tar.gz包,下载地址: > https://prestodb.io/docs/current/installation/deployment.html
解压:
$ tar xzvf presto-server-0.175.tar.gz
$ ln -s presto-server-0.175 presto
$ cd presto
$ mkdir prestoData
Presto需要一个用于存储日志、本地元数据等的数据目录。建议在安装目录的外面创建一个数据目录。这样方便Presto进行升级。
3.3 配置Presto
3.3.0 目录结构
在安装目录中创建一个etc目录(mkdir etc),所有的配置文件包含在 presto/etc/ 目录下目录结构如下。
presto/etc/
├── catalog
│ ├── hive.properties
│ └── jmx.properties
├── config.properties
├── jvm.config
├── log.properties
└── node.properties
在这个etc目录中放入以下配置信息:
node