1. Elasticsearch 入門安裝與部署
引言
Elasticsearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java語言開發的,並作為Apache許可條款下的開放原始碼釋出,是一種流行的企業級搜尋引擎。Elasticsearch用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。官方客戶端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和許多其他語言中都是可用的。根據DB-Engines的排名顯示,Elasticsearch是最受歡迎的企業搜尋引擎,其次是Apache Solr,也是基於Lucene
官網地址:https://www.elastic.co/cn/(建議閱讀官方權威文件)
下載
由於生產環境大多使用Linux系統,建議下載Linux的壓縮包版本
官方下載地址,截止筆者寫作之時,最新版本 點選下載7.13.2
解壓
tar -xzvf elasticsearch-7.13.2-linux-x86_64.tar.gz
解壓後的目錄如下
其中
bin:es的相關命令所有目錄
config:es配置檔案所在目錄
jdk:自帶open jdk(低版本es好像沒有的)
lib:es是基於java開發,所有依賴的jar包
logs:日誌檔案所在目錄
modules:es模組目錄
plugins
建立使用者
es執行時對伺服器安全性要求較高,es服務執行不能使用root使用者
如果使用root使用者執行,則會如下錯誤
需要為es執行建立專屬使用者(es,使用者名稱自取),並將剛剛解壓後的目錄的使用者擁有者改為es
##建立es使用者組
groupadd es
##建立es使用者
useradd es -g es -p es
##將解壓後文件夾所屬者改為es
chown -R es:es /home/server/elasticsearch-7.13.2
JDK環境
Elasticsearch 7.13.2執行時官方建議使用JDK9及以上版本Java環境執行,給出的理由是CMS垃圾回收器將會在未來版本中移除。如下描述
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
對於JDK的安裝,可以參考筆者另外一篇博文 物理機安裝Centos系統,參考其中的 【系統配置——JAVA環境配置】
如果伺服器已經配置了JDK 9以下的低版本Java環境,還可以為Es配置一個專用的 ES_JAVA_HOME 環境
在 /etc/profile末尾新增ES_JAVA_HOME,並指向一個JDK9以上的JAVA環境目錄,如下