12.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。

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

    属性和值

    注释

    cluster.name:<Elasticsearch _cluster_name>

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

    node.name:<node_name>

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

    network.host:_<networkInterface>:ipv4_

     

    discovery.zen.ping.unicast.hosts: [<Sentinel 服务器中 elasticsearch 节点的 FQDN>、<elasticsearch 节点 1 的 FQDN>、<elasticsearch 节点 2 的 FQDN> 等]

     

    thread_pool.bulk.queue_size: 300

     

    thread_pool.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)。

  7. 更新 /etc/elasticsearch/jvm.options 文件中默认的 Elasticsearch 堆大小。

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

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

  9. 在 Sentinel 服务器 Elasticsearch 节点中,按下列方式配置 /etc/opt/novell/sentinel/3rdparty/elasticsearch/elasticsearch.yml:

    1. 确保 elasticsearch.yml 文件中 cluster.name 和 discovery.zen.ping.unicast.hosts 的值与外部 Elasticsearch 节点中的 elasticsearch.yml 文件中的相同。

    2. 在 network.host 属性中按下列形式指定本地主机 IP 地址后跟本地 Elasticsearch 节点的 IP 地址:

      network.host: ["127.0.0.1","<Sentinel 中 Elasticsearch 节点的 IP 地址>"]

  10. (有条件)对于具有传统储存的 Sentinel,将外部 Elasticsearch 节点 IP 地址添加到/etc/opt/novell/sentinel/config/elasticsearch-index.properties 文件的 ServerList 属性中。

    例如:ServerList=<Elasticsearch IP1>:<Port>,<Elasticsearch IP2>:<Port>

  11. 重启动 Sentinel:

    rcsentinel 重启动

  12. 重启动每个 Elasticsearch 节点:

    /etc/init.d/elasticsearch start

  13. 为实现 Sentinel 服务器最优性能和稳定性,将 Sentinel 服务器中的 Elasticsearch 节点配置为专用 master-eligible 节点,这样将在外部 Elasticsearch 节点中索引所有事件可视化数据:

    1. 以 novell 用户身份登录到 Sentinel 服务器。

    2. 确保所有现有警报数据已移动到外部 Elasticsearch 节点。

    3. 打开 /etc/opt/novell/sentinel/3rdparty/elasticsearch/elasticsearch.yml 文件并添加下列信息:

      node.master: true 
      node.data: false 
      node.ingest: false 
      search.remote.connect: false
    4. 重启动 Elasticsearch:

      rcsentinel stopSIdb

      rcsentinel startSIdb

  14. 继续确保 Elasticsearch 中数据的安全。