12.2 安装和配置 Elasticsearch

为了实现事件的可缩放分布式索引,您必须在群集模式下安装 Elasticsearch。为 Sentinel 安装的 Elasticsearch 群集只能用于为 Sentinel 数据编制索引。

12.2.1 先决条件

安装 Elasticsearch 前,请先实现以下先决条件:

  • 通过在 /etc/sysctl.conf 文件中添加以下属性,设置虚拟内存:

    vm.max_map_count=262144

  • 通过在 /etc/security/limits.conf 文件中添加以下属性,设置文件描述符:

    elasticsearch hard nofile 65536

    elasticsearch soft nofile 65536

12.2.2 安装和配置 Elasticsearch

您必须在每个 Elasticsearch 群集节点上安装 Elasticsearch 以及必需的插件。

要安装和配置 Elasticsearch,请执行以下操作:

  1. 安装 Elasticsearch 支持的 JDK 版本。

  2. 下载 Elasticsearch RPM 已认证版本。有关 Elasticsearch 已认证版本和下载 URL 的信息,请参见 Sentinel 技术信息页面。

  3. 安装 Elasticsearch:

    rpm -i elasticsearch-<版本>.rpm

  4. 完成 RPM 安装后说明中提到的任务。

  5. 确保 Elasticsearch 用户可通过运行以下命令访问 Java:

    sudo –u elasticsearch java –version

  6. 通过更新或添加以下信息,配置 /etc/elasticsearch/elasticsearch.yml 文件:

    属性和值

    注释

    cluster.name:<Elasticsearch _cluster_name>

    对于所有节点,指定的群集名称必须相同。

    node.name:<node_name>

    对于每个节点,节点名称必须唯一。

    network.host:_<networkInterface>:ipv4_

     

    discovery.zen.ping.unicast.hosts:["<elasticsearch 节点 1 的 FQDN>", "<elasticsearch 节点 2 的 FQDN>", 等等"]

     

    bootstrap.mlockall:true

     

    threadpool.bulk.queue_size:300

     

    threadpool.search.queue_size:10000

    搜索队列大小达到限制后,Elasticsearch 就会丢弃队列中所有未处理的搜索请求。

    您可以根据以下公式增加搜索队列大小:calculation:threadpool.search.queue_size = 仪表板中每个用户的平均控件查询次数 x 分区数(每日索引)x 天数(搜索持续时间)

    index.codec:best_compression 

     

    path.data:["/<es1>", "/<es2>"]

    让数据分布到多个独立磁盘或位置,以减少磁盘 I/O。

    配置多个路径,用于储存 Elasticsearch 数据。例如 /es1、/es2,等等。

    为了实现最佳性能和可管理性,请将每个路径都装入单独的物理磁盘 (JBOD)。

    index.merge.scheduler.max_thread_count:3

    将同时运行的多个单线程合并可优化 Elasticsearch 中的写入速度。

  7. 通过在 /etc/sysconfig/elasticsearch 文件中修改·ES_HEAP_SIZE·属性,更新默认的·Elasticsearch·堆大小。

    堆大小必须是服务器内存的 50%。例如,在 24 GB 的 Elasticsearch 节点上,将 12 GB 分配给 ES_HEAP_SIZE 属性,以实现最佳性能。

  8. 重启动 Elasticsearch:

    /etc/init.d/elasticsearch restart

  9. 下载并安装数据保留策略的“按查询删除”插件,以便在应用这些保留策略时有效地删除索引数据。

    在高度安全的环境中,如果无法将文件直接下载到服务器,则必须将插件手动下载到连接因特网的计算机上,再将文件复制到 Elasticsearch 节点,然后安装该插件。

    有关安装“按查询删除”插件的信息,请参见 Elasticsearch 文档。

  10. (可选)安装 Elasticsearch Head 插件,以便对 Elasticsearch 群集执行基本的监视操作。

    有关安装 Elasticsearch Head 插件的信息,请参见 Elasticsearch Head 插件文档。

  11. 在每个 Elasticsearch 群集节点上重复执行以上所有步骤。