配置指南

需要对 MobileFirst Analytics Server 进行一些配置。按指示,将某些配置参数应用于单个节点,将某些配置参数应用于整个集群。

属性

要获取配置属性的完整列表以及有关如何在应用程序服务器中设置这些配置属性的信息,请参阅配置属性
  • discovery.zen.minimum_master_nodes 属性必须设置为 ceil((<集群中的主合格节点数> / 2) + 1),以避免网络分区症状。
    • 集群中属于主合格节点的 Elasticsearch 节点必须确立定额,以确定哪个主合格节点为主节点。
    • 如果将主合格节点添加到集群中,那么主合格节点数量会发生改变,因此设置必须更改。如果将新的主合格节点引入集群,必须修改配置。有关如何管理集群的更多信息,请参阅集群管理和 Elasticsearch
  • 通过在所有节点中设置 clustername 属性来为集群命名。
    • 命名集群,以防止开发人员的 Elasticsearch 实例意外连接使用缺省名称的集群。
  • 通过在每个节点中设置 nodename 属性来为每个节点命名。
    • 缺省情况下,Elasticsearch 以随机 Marvel 字符对每个节点命名,每次重新启动每个节点时,节点名都会改变。
  • 通过在每个节点中设置 datapath 属性来显式声明到数据目录的文件系统路径。
  • 通过在每个节点中设置 masternodes 属性来显式声明专用主节点。

集群恢复设置

在向外扩展至多节点集群之后,可能会发现偶尔需要重新启动整个集群。需要重新启动整个集群时,必须考虑恢复设置。如果集群包含 10 个节点,每次启动集群的一个节点时,主节点会假定需要在每个节点到达集群后立即开始均衡数据。如果允许主节点如此操作,那么需要进行大量不必要的重新均衡。必须将集群设置配置为等到某一最少数量的节点加入集群后才允许主节点开始指示节点进行重新均衡。这样可将集群重新启动从数小时缩短至几分钟。
  • gateway.recover_after_nodes 属性必须设置为首选项,以防止 Elasticsearch 在集群中指定数量的节点启动并连接之前开始重新均衡。如果集群具有 10 个节点,那么 gateway.recover_after_nodes 属性值为 8 可能是合理设置。
  • gateway.expected_nodes 属性必须设置为您在集群中期望的节点数量。在此示例中,gateway.expected_nodes 属性的值为 10。
  • 必须设置 gateway.recover_after_time 属性以指示主节点在发送重新均衡指令前应等待的时间(从主节点启动开始)。

上述设置的组合意味着 Elasticsearch 等待至 gateway.recover_after_nodes 所表示的节点数量存在,然后,在 gateway.recover_after_time 所表示的分钟数或者在 gateway.expected_nodes 所表示的节点数连接到集群(以先到为准)后再开始恢复。

请勿执行以下操作

  • 请勿忽略生产集群。
    • 集群需要监控和培养。针对此任务有许多有效的专属 Elasticsearch 监控工具。
  • 请勿对 datapath 设置使用网络连接存储器 (NAS)。NAS 造成更长时间的延迟,并且会产生单一故障点。始终使用本地主机磁盘。
  • 避免集群跨多个数据中心,务必避免集群的地域距离跨度过大。节点之间的延迟是严重的性能瓶颈。
  • 实施您自己的集群配置管理解决方案。有许多有效的配置管理解决方案可用,例如,Puppet、Chef 和 Ansible。