Ops是否输入默认的本机客户端连接和负载分布



如果我们在一个OpsCenter集群(主要和次要(中有8个节点,其中有2个DC。我们有近30个节点连接到此OpsCenter,用于通过数据税代理进行监控。我的问题是,所有30个节点都将进行几乎相等的连接和负载共享(将度量数据写入OpsCenter集群(?还是将更高的连接到主OpsCenter集群,而更低的连接到备用?任何参考文件。提前谢谢。

cluster_name.conf文件的storage_cassandra部分,特别是seed_hosts、local_dc_pref和used_hosts_per_remote_dc,控制ophcenterd如何连接到存储集群。就以操作为中心的过程本身而言,记录的行为是正确的。然而,代理人的行为是不同的。

Opscenterd将storage_cassandra seed_hosts的值传递给相关集群的代理,这是每个代理将用于初始联系点的值,除非被代理的本地地址.yaml中的主机设置覆盖。local_dc_pref和used_hosts_per_remote_dc设置不会传递给代理,对代理的行为没有影响。

代理使用Java驱动程序的defaultLoadBalancingPolicy,即具有令牌感知的DCAwareRoundRobinPolicy。本地DC未明确传递给驱动程序,因此它会将本地DC视为成功连接到的第一台主机的DC。这意味着每个代理都将连接到存储群集的一个或另一个DC。

TL;DR:代理将仅连接到代理能够联系的第一个活动节点的本地DC。不可能让一个代理连接到多个DC。代理尝试连接到哪个节点由cluster_name.conf中配置的storage_cassandra seed_hosts决定,或者如果指定,则由代理的本地地址.yaml中配置的主机决定。因此,如果您希望一些代理连接到存储群集的一个DC,而其他代理连接到存储器的另一个DC,您需要覆盖代理的address.yaml中的主机,并确保指定的第一个主机属于您希望该代理连接到的DC。

请注意,如果使用单独的存储群集,则代理仅连接到它正在监视的本地节点。

最新更新