﹝Linux﹞ElastcSearch 5.4.0 環境安裝

  • 323
  • 0
  • ELK
  • 2021-07-22

前言:

  1. 本文為本人整理之筆記,如有侵權冒犯,請立即告知
作業環境:CentOS 7 mini  

 先進行更新並安裝會使用到的工具

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 文件,依序以此類推進行修改,修改後進行重啟,即可生效


筆記備註:

  1. JDK 一定要安裝,否則一定會出現錯誤
  2. 記憶體調整的部分,

     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 教學


天下風雲出我輩,一入江湖歲月催,

塵事如潮人如水,只嘆江湖幾人回。