【问题标题】:How can I get Presto host:port configuration?如何获取 Presto 主机:端口配置?
【发布时间】:2020-06-20 16:32:24
【问题描述】:

我可以使用presto-cli 来执行这样的查询:

$ presto-cli
presto> show catalogs;
 Catalog 
---------
 hive    
 system  
(2 rows)

但是,如果我尝试:

$ presto-cli --server localhost:8080
presto> show catalogs;
Error running command: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8080

如何知道服务器的主机/端口配置以将其作为参数显式传递?

【问题讨论】:

  • Presto CLI 使用 localhost:8080 作为 --server 参数的默认值。您使用的是 Presto CLI 的修改版本吗?如果您从 prestosql.io/download.html 下载 Presto CLI 336 会发生什么?
  • @PiotrFindeisen 感谢您的评论。可能被修改了,可能是使用环境变量或者配置文件,我不知道。不幸的是,我无法下载和安装 Presto,因为我没有服务器或 Internet 连接的权限。难道不能知道presto-cli 在这个设置中使用的是哪个服务器吗?

标签: presto


【解决方案1】:

presto-cli 在使用--help 调用时打印默认值:

$ presto-cli --version
Presto CLI 334

$ presto-cli --help | grep -A2 -e --server
...
--
        --server <server>
            Presto server location (default: localhost:8080)

然而,在 EMR 上,presto-cli 是一个包装脚本。有关详细信息,请参阅@Peque 答案。

【讨论】:

  • 是的,--help 是我读到的第一件事,这就是我得到 localhost:8080 作为参数的原因。似乎--help 显示localhost:8080,但这在作为参数传递时不起作用。任何想法?也许该默认值在帮助中是硬编码的,但并不代表我得到的安装中的默认值? :-/
  • 我找到(并发布)了答案。配置似乎是从/etc/presto/conf/config.properties 加载的。
【解决方案2】:

在 AWS EMR 上,可以从以下位置加载配置:

/etc/presto/conf/config.properties

特别是,该文件中的端口被设置为http-server.http.port

【讨论】:

  • Presto CLI 不这样做。您的 presto-cli 必须是一些包装脚本。我编辑了答案以强调这一点。
  • @PiotrFindeisen 谢谢。 ^^
猜你喜欢
  • 2016-04-12
  • 1970-01-01
  • 2021-10-07
  • 2020-08-19
  • 2016-05-24
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
相关资源
最近更新 更多