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。如需關於認證版本和下載 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 叢集名稱>

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

    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 會丟棄任何佇列內等待中的搜尋要求。

    您可以根據以下計算,增加搜尋佇列大小: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. 針對資料保留規則下載並安裝 Delete-By-Query 外掛程式,以在套用保留規則時有效刪除索引資料。

    在無法將檔案直接下載至伺服器的高度安全環境中,您必須在可存取網際網路的電腦上手動下載外掛程式、將檔案複製到 Elasticsearch 節點,然後安裝外掛程式。

    如需有關安裝 Delete-By-Query 外掛程式的詳細資訊,請參閱 Elasticsearch 文件。

  10. (選擇性) 安裝 Elasticsearch Head 外掛程式,以執行 Elasticsearch 叢集基本監控。

    如需有關安裝 Elasticsearch Head 外掛程式的詳細資訊,請參閱 Elasticsearch Head 外掛程式文件。

  11. 針對每個 Elasticsearch 叢集節點重複所有上述步驟。