我使用带有可选组件presto的测试版gcloud创建了数据集群。
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;
运行命令时出错:java.net.SocketException:连接被拒绝(连接被拒绝)
任何帮助将不胜感激
可能需要对连接设置进行一些小修复。
假设您的群集名为presto-test,那么该命令应如下所示
./presto \
--server presto-test-m:8060 \
--socks-proxy localhost:1080 \
--catalog hive \
--schema default
如果这不起作用,您可能需要仔细检查socks代理和Presto是否正确运行。
curl -I -x socks5h://localhost:1080 presto-test-m:8088
- 它应该返回HTTP 302.如果您收到连接拒绝错误或找不到主机错误,则您的socks代理无法正常工作。gcloud beta dataproc clusters describe presto-test
并检查输出中是否出现以下行
softwareConfig:
optionalComponents:
- PRESTO
which presto
和sudo 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