Presto常见问题

运行Presto

我应该给worker节点多少内存?

问题的答案取决于你的数据量,以及执行查询的特性,Facebook一般使用16GB堆栈运行Presto(这个数量已经在JVM的示例配置文件中设置)。

兼容和支持

Presto支持哪些Hadoop版本?

Presto能否连接Cassandra?

是的,通过cassandra连接器。

Presto能否连接HBase?

还不能。一个高效的HBase连接器正在开发中。

Presto能否连接SqlServer / Oracle?

目前官方版本还不支持,京东商城运维部已经实现SqlServer和Oracle的支持。 我们正在开发一个基本的JDBC连接器。 注意,这是用来连接外部的JDBC数据库。 Presto已经提供了 JDBC驱动 允许Java程序连接Presto。

常见错误及故障排除

为什么我可以执行SHOW TABLES但任何一个表都SELECT不出来?

如果你能执行元数据命令,如SHOW TABLES 但无法读取数据,这说明Presto可以访问你的Hive元数据,但不能访问HDFS集群。 你应该检查是否有以下错误信息:

有可能是你的Hadoop版本与你选择的连接器不匹配。 查看手册中的属性目录章节 部署 确认connector.name 属性与你的Hadoop版本一致。

为什么我在启动时看到"Cannot connect to discovery server for refresh"这个错误?

这通常不是问题。出现错误信息的原因是discovery客户端在discovery服务启动之前就已经启动了。 在错误信息出现不久后,你将在日志中看到succeeded for refresh信息,显示一切工作正常。 我们终将修复日志信息,这不过是个美化的问题。

比预期的查询速度慢。哪些因素影响Presto的性能?

首先要检查的是worker和coordinator的服务器状态。 检查负载,网络带宽,磁盘利用率,确认Presto在哪些地方将资源耗尽。

执行Presto查询

有没有对用户友好的界面来执行Presto查询?

资源页面 列出了几个外部的项目设计,提供了对用户友好的图形化的Presto查询界面。

Presto常见问题