作为自动扩展我们的 presto 集群的一部分,我们喜欢在让 EC2 终止它之前优雅地关闭一个 presto worker。执行命令后
curl -v -XPUT --data '"SHUTTING_DOWN"' -H "内容类型:应用程序/json" http://250.0.46.167:8081/v1/info/state
工作人员日志立即指示“com.facebook.presto.server.GracefulShutdownHandler 关闭请求”,并且协调器中的节点很快变为“shutting_down”状态。工作进程最终在 4 分钟后退出(由于 2 分钟的双宽限期而不是挂起的查询)。
到目前为止一切顺利,但正如任何托管守护程序所期望的那样。工作进程立即重新启动,很快节点在协调器中恢复为“活动”。
我们希望 Presto 中的优雅关闭大致如下所示:关闭请求将被发送到协调器(而不是工作器)。协调器告诉工作人员关闭,然后从逻辑上将其从活动节点列表中删除。如果工作人员重新启动并重新注册,协调员将在接下来的一个小时内忽略它。
我想知道当前的 Presto 集群所有者/运营商如何处理这个问题?