前言:
- 本文為本人整理之筆記,如有侵權冒犯,請立即告知
先進行更新並安裝會使用到的工具
yum -y update
yum -y install wget
安裝 JDK 1.8.0 版本
yum -y install java-1.8.0-openjdk.x86_64
JAVA_HOME路徑
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
下載ElastcSearch
cd /opt
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.rpm
安裝 ElastcSearch
rpm -ivh /opt/elasticsearch-*.rpm
設定ElastcSearch並綁定IP及Port
vi /etc/elasticsearch/elasticsearch.yml
找到以下兩個設定值並修改:
network.bind_host: 127.0.0.1 http.port: 9200 |
防火牆開通
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
記憶體調整
vi /etc/elasticsearch/jvm.options
找到以下兩個設定值,進行修改:
-Xms1g -Xmx1g |
請確保記憶體最小值(Xms)與最大值(Xmx)的大小是相同的,
這是防止程序在執行時改變記憶體大小,因為這是一個很耗系統資源的過程。
啟動 Elasticsearch
systemctl start elasticsearch
查詢狀態
systemctl status elasticsearch
測試連結
curl "http://localhost:9200/"
設定Elasticsearch為背景服務
sudo systemctl daemon-reload
啟動並設定開機後自動啟動
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
透過 Elasticsearch Head 套件查看資料
在 Chrome 瀏覽器上安裝 Elasticsearch Head 的套件
2020年07月04 補充更新筆記 【ELK 叢集配置】
修改elasticsearch.yml 文件
vi /etc/elasticsearch/elasticsearch.yml
# ---------------------------------- Cluster ----------------------------------- # Use a descriptive name for your cluster: cluster.name: ELK Cluster # ------------------------------------ Node ------------------------------------ # Use a descriptive name for the node: node.name: node-1 # Add custom attributes to the node: #node.attr.rack: r1 # --------------------------------- Discovery ---------------------------------- # Pass an initial list of hosts to perform discovery when new node is started: # The default list of hosts is ["127.0.0.1", "[::1]"] discovery.zen.ping.unicast.hosts: ["host1", "host2"] |
叢集elasticsearch.yml 文件,依序以此類推進行修改,修改後進行重啟,即可生效
筆記備註:
- JDK 一定要安裝,否則一定會出現錯誤
- 記憶體調整的部分,
Linux 環境中安裝 Elasticsearch 預設記憶體是 2 GB
Elasticsearch 配置記憶體有兩個條件限制,違反下面兩個條件,Elasticsearch 查詢速度會不升反減:
記憶體最高只能設定系統可用的一半:
例:系統記憶體總共有 32GB,只能設定 16GB 給 Elasticsearch,為什麼呢?在這篇中 Chris 有介紹到 Elasticsearch 底層是 Base on Lucene,Lucene 的效能取決於和作業系統的相互作用。如果你把所有的記憶體都分配給 Elasticsearch ,那將不會有剩餘的記憶體給 Lucene。這將嚴重地影響全文檢索的效能。不能超過 32GB:
Elasticsearch 是 JAVA 語言所開發的應用程式,也就是說它脫離不了 JVM 跟 Garbage Collection,這裡為官方的說明。
參考文獻:
如何在 CentOS 7 環境中安裝 Elasticsearch 教學
天下風雲出我輩,一入江湖歲月催,
塵事如潮人如水,只嘆江湖幾人回。