gpt4 book ai didi

Presto 服务器 - 无法连接到发现服务器进行公告

转载 作者:行者123 更新时间:2023-12-02 11:32:19 25 4
gpt4 key购买 nike

尝试使用独立协调器/多个工作节点运行 Presto。协调器节点启动,但无法向发现服务(在同一节点上运行)宣告自己。在另一个节点上启动 presto Worker 也无法向 Discovery 服务通告,因此在 qyerying 时会出现此问题:失败:没有可用于运行查询的节点

协调器/发现节点配置:

coordinator=true
datasources=jmx
http-server.http.port=8000
presto-metastore.db.type=h2
presto-metastore.db.filename=var/db/MetaStore
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://10.0.0.11:8000

启动日志:

2013-11-11T16:54:57.999+0000     INFO   main    com.facebook.presto.server.PrestoServer     ======== SERVER STARTED ========
2013-11-11T16:54:58.002+0000 ERROR Announcer-0 io.airlift.discovery.client.Announcer Cannot connect to discovery server for announce: Announcement failed with status code 404: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 404 Not Found</title>
</head>
<body>
<h2>HTTP ERROR: 404</h2>
<p>Problem accessing /v1/announcement/presto-coordinator. Reason:
<pre> Not Found</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>

服务器似乎正在端口 8000 上运行:

[root@ip-10-0-0-11 ~]# curl http://10.0.0.11:8000
<!DOCTYPE html>
<head>
<meta charset="utf-8">
...
<body>
<div class="container">
<div class="page-header">
<h1>Presto</h1>
</div>
...

附注在 Azure 集群上看到同样的问题,看起来不是 Amazon 或网络问题。

这是 this 的后续内容问题是 Presto 可以在同一节点上与 Coordinator/Worker 一起正常工作(但仍然存在上述问题)。

最佳答案

多次阅读您的问题和评论后,我终于意识到这是发现服务器(嵌入式和独立)中的一个错误,导致动态公告在 node.id (在node.properties 文件)不是 UUID。我们从未注意到这个错误,因为我们总是使用 UUID。

这里的线索是“访问 /v1/announcement/presto-coordinator 时出现问题”消息。这意味着 node.id 设置为 presto-coordinator,这应该是完全有效的,但动态公告资源尝试将其解析为 UUID 并失败,导致 404对 PUT 请求的响应。

我们很快就会解决这个问题,但目前的解决方法是将 node.id 设置为 UUID。您可以运行 uuiduuidgen 命令行实用程序来生成它们。确保每个工作线程的 node.id 值不同。

关于Presto 服务器 - 无法连接到发现服务器进行公告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19912298/

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