Elasticsearch安裝

JAVA(JVM)版本

Elasticsearch是使用Java構建的,至少需要Java 8才能運行。 只支持Oracle的Java和OpenJDK。 所有Elasticsearch節點和客戶端都應使用相同的JVM版本。

我們建議安裝Java版本1.8.0_131或更高版本。 如果使用Java的已知壞版本,Elasticsearch將拒絕啟動。

Elasticsearch將使用的Java版本可以通過設置JAVA_HOME環境變量進行配置。

提示:Elasticsearch帶有默認配置,用于在64位服務器JVM上運行Elasticsearch。 如果使用32位客戶端JVM,則必須從jvm.options中刪除-server,如果使用任何32位JVM,則應將線程堆棧大小從-Xss1m重新配置為-Xss320k。

通過tar.gz包安裝

下載并解壓Elasticsearch

? ? wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.tar.gz

? ? tar -zxvf elasticsearch-5.6.2.tar.gz

? ? cd elasticsearch-5.6.2

啟動Elasticsearch

? ? bin/elasticsearch?(or?bin\elasticsearch.bat?on Windows)

? ? 默認情況下,Elasticsearch在前臺運行,將其日志打印到標準輸出(stdout),并可以按Ctrl-C

作為守護進程運行

? ? 要作為守護程序運行Elasticsearch,請在命令行中指定-d,并使用-p選項將進程ID記錄在文件中:

? ? ./bin/elasticsearch -d -p pid

? ? 日志文件會輸出到$ES_HOME/logs/目錄下。

停止Elasticsearch

? ? 要關閉Elasticsearch,請殺死pid文件中記錄的進程ID:

? ? kill `cat pid`

? ? 或者

? ? curl -XPOST 'http://localhost:9200/_shutdown'

訪問Elasticsearch

? ? ? ? ? Run?curl http://localhost:9200/?or?Invoke-RestMethod http://localhost:9200

? ? 注意:RPM和Debian軟件包中提供的啟動腳本會為您啟動和停止Elasticsearch進程。

遇到的問題

1.不能使用root用戶啟動Elasticsearch

圖1

解決方案1

創建用戶elasticsearch

? ? ? ? ? ? sudo useradd elasticsearch

修改文件權限

? ? ? ? ? ? sudo chown -R elasticsearch elasticsearch-5.6.2

用戶elasticsearch啟動elasticsearch

結果:啟動成功

解決方案2

在執行elasticSearch時加上參數-Des.insecure.allow.root=true,完整命令如下

? ? sudo ./bin/elasticsearch -Des.insecure.allow.root=true?

結果:啟動失敗

原因:這種解決方案是舊版本(ES2)所支持的,新版本(ES5)不支持root用戶啟動

解決方案3

用vi打開elasicsearch執行文件,在變量ES_JAVA_OPTS使用前添加以下命令

? ? ES_JAVA_OPTS="-Des.insecure.allow.root=true"

結果:啟動失敗

原因:同上

2.Connection refused


Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000f5d50000, 11206656, 0) failed; error='Cannot allocate memory' (errno=12)

Elasticsearch requires at least Java 8 but your Java version from /usr/lib/jvm/java-8-oracle/bin/java does not meet this requirement

可能的原因:1..JVM版本太低? 2.內存空間不足

檢查JVM版本,排除第一個原因

解決方案:增加內存到2G

啟動成功

3.內存不足啟動失敗


vi config/jvm.options

修改以下參數:

-Xms500m

-Xmx500m

通過命令行配置Elasticsearch

默認情況下,Elasticsearch從$ ES_HOME / config / elasticsearch.yml文件加載其配置。 此配置文件的格式在配置彈性搜索中說明。

也可以在命令行中指定在配置文件中指定的任何設置,使用-E語法如下所示:

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

提示:通常,任何群集范圍的設置(如cluster.name)都應該添加到elasticsearch.yml配置文件中,而任何特定于節點的設置(如node.name)可以在命令行中指定。

.zip和tar.gz文檔結構

.zip和.tar.gz包完全獨立。 默認情況下,所有文件和目錄都包含在$ ES_HOME中——解壓縮存檔時創建的目錄。

這非常方便,因為您不必創建任何目錄即可開始使用Elasticsearch,并且卸載Elasticsearch與刪除$ ES_HOME目錄一樣簡單。 但是,建議更改config目錄,數據目錄和logs目錄的默認位置,以便以后不再刪除重要數據。

類型描述默認位置設置

homeElasticsearch 根目錄或 $ES_HOME文件解壓后創建的目錄

bin二進制文件目錄,包括elasticsearch用于啟動一個節點,elasticsearch-plugin用于安裝插件$ES_HOME/bin

conf配置文件,包括elasticsearch.yml$ES_HOME/configpath.conf

data在節點上分配的每個索引/分片的數據文件的位置。 可以容納多個位置。$ES_HOME/datapath.data

logs日志文件目錄$ES_HOME/logspath.logs

plugins插件文件目錄,每個插件都存放在一個目錄中$ES_HOME/plugins

repo共享文件系統存儲庫位置。 可以容納多個位置。 可以將文件系統存儲庫放置在此處指定的任何目錄的任何子目錄中。未設置path.repo

script腳本文件目錄$ES_HOME/scriptspath.scripts

參考文件:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/zip-targz.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。