gpt4 book ai didi

google-cloud-platform - Presto-CLI java.net.SocketException : Connection refused in GCP

转载 作者:行者123 更新时间:2023-12-04 15:51:27 24 4
gpt4 key购买 nike

我使用带有可选组件 presto 的测试版 gcloud 创建了 dataproc 集群。

gcloud beta dataproc clusters create presto-test --optional-components=PRESTO --image-version=1.3-deb9

当我尝试执行以下命令访问 hive 目录时,它可以成功打开 presto-cli。

./presto \
--server presto-cluster-m-0:8080 \
--socks-proxy localhost:1080 \
--catalog hive \
--schema default

但是我在通过 presto-cli 查询时遇到以下错误。

presto:default> show tables;

Error running command: java.net.SocketException: Connection refused (Connection refused)

在此方面的任何帮助将不胜感激

最佳答案

可能需要对您的连接设置进行一些小的修复。

  • Presto 作为可选组件运行时在端口 8060 上运行
  • 您的集群创建命令没有在 HA 模式下创建您的集群,因此 master 的主机名只是 -m,而不是 -m-0

假设你的集群被命名为 presto-test,那么命令应该是这样的

./presto \
--server presto-test-m:8060 \
--socks-proxy localhost:1080 \
--catalog hive \
--schema default

如果这不起作用,您可能需要仔细检查 socks 代理和 Presto 是否正常运行。

  1. 运行 curl -I -x socks5h://localhost:1080 presto-test-m:8088 - 它应该返回 HTTP 302。如果您遇到连接被拒绝错误或主机不可用发现错误,您的 socks 代理无法正常工作。

  2. 运行 gcloud beta dataproc clusters describe presto-test 并检查以下行是否出现在输出中

    softwareConfig:
    optionalComponents:
    - PRESTO
  3. 通过 Ssh 进入 Presto 集群的主节点并运行 which prestosudo systemctl status presto 以验证 Presto 是否已安装并正在运行。

存在一个已知问题,当指定为可选组件时,Presto 可能无法安装(在这种情况下,上面的步骤 2 和 3 将显示 Presto 未在集群上激活)。这应该会在下一个 Dataproc 版本中修复 - 如果您现在遇到此问题,请尝试使用此命令来创建集群:

gcloud beta dataproc clusters create presto-test --properties dataproc:dataproc.components.activate=presto --image-version=1.3-deb9

关于google-cloud-platform - Presto-CLI java.net.SocketException : Connection refused in GCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53651776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com