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

标签 google-cloud-platform presto google-cloud-dataproc

我使用带有可选组件 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/

相关文章:

google-cloud-platform - 如何将日志从 GCP 的日志查看器传输到 Slack 或电子邮件?

python-2.7 - 如何在谷歌应用引擎中正确导入 requests_toolbelt?

google-cloud-platform - Google Cloud - 从不同的电子邮件地址使用了错误的项目 ID

google-cloud-platform - Google Dataflow - 调度

sql - 如何获取每对列的计数和最新记录?

pyspark - 应用 pyspark ALS 的 "recommendProductsForUsers"时出现 StackOverflow 错误(尽管可用 >300GB RAM 的集群)

sql - hive和presto,整数除法截断问题

sql - 选择不同的行 "modulo null"

google-cloud-platform - Google Cloud Data Catalog 是否可以用作 Dataproc (Spark/Hive/Presto) 以及 GCS 文件的元数据存储库?

hadoop - 对多个作业使用相同的 JavaSparkContext 以防止在 spark 驱动程序初始化时使用时间