具有高可用性的chronos集群

mfuanj7w  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(483)

我有三个服务器a,b,c在我运行的每台机器上chronos,zookeeper,mesos master,mesos slave。
chronos使用zookeeper url联系mesos主机,因此即使某个节点关闭,它也会自动选择领先的主机。我这里有很高的可用性。
即使chronos运行在集群模式下,所以访问任何一个chronos时,我都会看到相同的作业列表,一切正常。
我这里的问题是,chronos可以通过三个url中的任何一个访问 http://server_node_1:4400 http://server_node_2:4400 http://server_node_3:4400 我有另一个应用程序,它使用restapi在chronos中调度作业。为了在高可用性模式下运行,我的应用程序必须与哪个url通信?
假设我的申请和 http://server_node_1:4400 用于调度作业(如果节点上有chronos) server_node_1 我不能安排工作。
我的应用程序需要与单个url进行通信,以便在chronos中安排作业。即使某个chronos节点关闭,我也应该能够安排作业。我的应用程序和chronos集群之间是否需要某种负载均衡器来选择正在运行的chronos节点进行作业调度?如何在我的场景中实现高可用性?

pvabu6sv

pvabu6sv1#

使用haproxy路由到chronos示例。通过这种方式,您可以访问chronos示例,例如。 curl loadbalancer:8081 . haproxy.cfg :

listen chronos_8081
  bind 0.0.0.0:8081
  mode http
  balance roundrobin
  option  allbackups
  option http-no-delay
  server chronos01 server_node_1:4400
  server chronos02 server_node_2:4400
  server chronos03 server_node_3:4400

或者更好的是,通过马拉松启动chronos,这将确保给定的示例数。然后haproxy配置可以通过以下方式生成:
马拉松lb
竹子

相关问题