如需事件的可擴充和分散式索引,您必須在叢集節點中安裝 Elasticsearch。為 Sentinel 安裝的 Elasticsearch 叢集只能用於編製 Sentinel 資料的索引。
安裝 Elasticsearch 前,請完成下列先決條件:
透過在 /etc/sysctl.conf 檔案中新增下列內容,設定虛擬記憶體:
vm.max_map_count=262144
透過在 /etc/security/limits.conf 檔案中新增下列內容,設定檔案描述子:
elasticsearch hard nofile 65536
elasticsearch soft nofile 65536
elasticsearch soft as unlimited
重要:您完成上方的前置作業後,執行 sysctl -p 指令以重新載入對檔案作出的變更。
您必須在 Elasticsearch 叢集的每個節點上安裝 Elasticsearch 和所需的外掛程式。
若要安裝和設定 Elasticsearch:
安裝 Elasticsearch 支援的 JDK 版本。
下載認證版本的 Elasticsearch RPM。如需關於認證版本和下載 URL 的詳細資訊,請參閱 Sentinel 技術資訊頁面。
安裝 Elasticsearch:
rpm -i elasticsearch-<版本>.rpm
完成 RPM 後續安裝工作指示畫面中所述的任務。
請確定 Elasticsearch 使用者可透過執行下列指令存取 Java:
sudo -u elasticsearch java -version
透過更新或新增下列資訊,設定 /etc/elasticsearch/elasticsearch.yml 檔案:
|
內容和值 |
附註 |
|---|---|
|
cluster.name: <Elasticsearch 叢集名稱> |
您必須針對所有節點指定相同的叢集名稱。 |
|
node.name: <節點名稱> |
每個節點的節點名稱都必須唯一。 |
|
network.host: _<networkInterface>:ipv4_ |
|
|
discovery.zen.ping.unicast.hosts: ["<elasticsearch 節點 1 的 FQDN>", "<elasticsearch 節點 2 的 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)。 |
更新 /etc/elasticsearch/jvm.options 檔案中預設的 Elasticsearch 堆積大小。
堆積大小必須是伺服器記憶體的 50%。例如,在 24 GB 的 Elasticsearch 節點上會配置 12 GB 作為堆積大小以提供最佳效能。
啟動 Elasticsearch:
/etc/init.d/elasticsearch start
針對每個 Elasticsearch 叢集節點重複所有上述步驟。