Elasticsearch 是 Elastic Stack(什麼是 Elastic Stack?) 的核心的分散式搜尋和分析引擎。Logstash 和 Beats 便於收集、聚合和豐富您的資料並將其儲存在 Elasticsearch 中。Kibana 讓你能夠互動式地探索、視覺化和分享對資料的見解,管理和監控堆疊。
Elasticsearch 為所有型別的資料提供近乎實時的搜尋和分析。無論你有結構化或非結構化的文字、數位資料或地理空間資料,Elasticsearch 都能以支援快速搜尋的方式有效地儲存和索引這些資料。你可以遠遠超越簡單的資料檢索和彙總資訊,便於發現資料的趨勢和模式。而且隨著你的資料和查詢量的增長,Elasticsearch 的分散式特性使你的部署能夠與之無縫對接。
Elasticsearch 解決下面的問題:
具體更多簡介請看 官網介紹,這裡不再敘述。
這裡以 centos 8 為例
Elasticsearch 是一個 java 應用程式,所以第一步是檢查本機是否安裝 java
java -version
⚠️jdk 版本必須大於 1.8
如果沒有裝 openjdk,請看 How to Install Java on CentOS 8
由於 Elasticsearch 在標準的 CentOS 8 資源庫中是不可用的,我們將從 Elasticsearch RPM 倉庫中安裝它。
使用 rpm 命令匯入倉庫的 GPG:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
開啟文字編輯器,建立儲存庫檔案/etc/yum. reposit.d 目錄:
sudo nano /etc/yum.repos.d/elasticsearch.repo
將以下內容寫入檔案:
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
儲存關閉,現在版本庫已經啟用,通過鍵入安裝 Elasticsearch 包:
sudo yum install elasticsearch
安裝完成後,啟動服務:
sudo systemctl enable elasticsearch.service --now
如果要驗證 Elasticsearch 是否在執行,可以使用 curl 向 localhost 的 9200 埠傳送 HTTP 請求:
curl -X GET "localhost:9200/"
輸出如下表示成功:
如果要檢視 Elasticsearch 服務記錄的訊息,可以使用命令:
sudo journalctl -u elasticsearch
Elasticsearch 資料儲存在/var/lib/elasticsearch
目錄下,組態檔位於/etc/elasticsearch
中。
預設情況下,Elasticsearch 被設定為只在 localhost 上監聽。
如果連線資料庫的使用者端也在同一臺主機上執行,並且你正在建立一個單節點叢集,你不需要改變預設的組態檔。
開箱即用的 Elasticsearch,並沒有實現身份驗證,所以任何人都可以存取它的 HTTP API。
如果你想允許遠端存取你的 Elasticsearch 伺服器,你需要設定你的防火牆,只允許受信任的客戶存取 Elasticsearch 埠 9200。
vi /etc/elasticsearch/elasticsearch.yml
在組態檔中新增如下命令:
network.host: 0.0.0.0
我們來試試:
exit
curl -GET 你的伺服器 ip :9200
這樣,遠端部署也就好了。
Elasticsearch 就安裝好啦,歡迎評論區討論