12.2 安裝和設定 Elasticsearch

您必須在 Elasticsearch 叢集的每個節點上安裝 Elasticsearch 和所需的外掛程式。

若要安裝和設定 Elasticsearch:

  1. 安裝 Elasticsearch 支援的 JDK 版本。

  2. 下載認證版本的 Elasticsearch RPM。如需關於認證版本和下載 URL 的詳細資訊,請參閱 Sentinel 技術資訊頁面。

  3. 安裝 Elasticsearch:

    rpm -i elasticsearch-<版本>.rpm

  4. 完成 RPM 後續安裝工作指示畫面中所述的任務。

  5. 確定 Elasticsearch 使用者具有 Java 的存取權。

  6. 透過更新或新增下列資訊,設定 /etc/elasticsearch/elasticsearch.yml 檔案:

    內容和值

    附註

    cluster.name: <Elasticsearch 叢集名稱>

    您必須針對所有節點指定相同的叢集名稱。

    node.name: <節點名稱>

    每個節點的節點名稱都必須唯一。

    network.host: _<networkInterface>:ipv4_

     

    discovery.zen.ping.unicast.hosts:[<Sentinel 伺服器中 elasticsearch 節點的 FQDN>、<elasticsearch node1 的 FQDN>、<elasticsearch node2 的 FQDN>,依此類推]

     

    thread_pool.bulk.queue_size: 300

     

    thread_pool.search.queue_size: 10000

    當搜尋佇列大小達到上限,Elasticsearch 會丟棄任何佇列內等待中的搜尋要求。

    您可以根據以下計算,增加搜尋佇列大小: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 內容中指定 localhost 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 restart

  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 中的資料。