elasticsearch 安裝 windows linux macOS


導讀

在上一章節我們介紹Elasticsearch基本概念,今天我們繼續進行本章內容,Elasticsearch在各種環境下安裝,下面將逐一講解在各種操作系統或不同安裝在不同環境中注意事項。

 

安裝

Elasticsearch最近版本至少需要Java 8.具體到撰寫本文時,建議您使用Oracle JDK版本1.8.0_131。Java安裝因平台而異,因此我們不會在此處詳細介紹。可以在Oracle的網站上找到Oracle推薦的安裝文檔可以說,在安裝Elasticsearch之前,請先運行檢查Java版本(然后根據需要進行相應的安裝/升級):

java -version
echo $ JAVA_HOME

一旦我們設置了Java,我們就可以下載並運行Elasticsearch。二進制文件可以www.elastic.co/downloads與過去發布的所有版本一起提供。對於每個版本,您可以選擇ziptar存檔,DEBRPM包,或Windows MSI安裝包。

tar 安裝示例

為簡單起見,讓我們使用tar文件。

讓我們下載相對穩定版本Elasticsearch 5.6.11 tar如下:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.11.tar.gz

然后提取如下:

tar -xvf elasticsearch-5.6.11.tar.gz

然后它會在當前目錄中創建一堆文件和文件夾。然后我們進入bin目錄,如下所示:

cd elasticsearch-5.6.11 / bin

現在我們准備啟動我們的節點和單個集群:

./elasticsearch

使用Homebrew 安裝

在macOS上,Elasticsearch也可以通過Homebrew安裝

brew install elasticsearch

使用MSI Windows Installer 安裝示例

對於Windows用戶,我們建議使用MSI安裝程序包該軟件包包含一個圖形用戶界面(GUI),可指導您完成安裝過程。

首先,從https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.msi下載Elasticsearch 5.5.0 MSI 

然后雙擊下載的文件以啟動GUI。在第一個屏幕中,選擇部署目錄:

圖像/ msi_installer / msi_installer_locations.png

然后選擇是作為服務安裝還是根據需要手動啟動Elasticsearch。要與tar示例對齊,請選擇不安裝為服務:

圖像/ msi_installer / msi_installer_no_service.png

對於配置,只需保留默認值:

圖像/ msi_installer / msi_installer_configuration.png

再次,要與tar示例對齊,請取消選中所有插件以不安裝任何插件:

圖像/ msi_installer / msi_installer_plugins.png

單擊安裝按鈕后,將安裝Elasticsearch:

圖像/ msi_installer / msi_installer_success.png

默認情況下,Elasticsearch將安裝在%PROGRAMFILES%\Elastic\Elasticsearch在此處導航並進入bin目錄,如下所示:

使用命令提示符:

cd%PROGRAMFILES%\ Elastic \ Elasticsearch \ bin

使用PowerShell:

cd $ env:PROGRAMFILES \ Elastic \ Elasticsearch \ bin

現在我們准備啟動我們的節點和單個集群:

\ elasticsearch.exe

成功運行節點

如果一切順利安裝,你應該看到一堆如下所示的消息:

[2017-09-16T14:17:51,251][INFO ][o.e.n.Node               ] [] initializing ...
[2017-09-16T14:17:51,329][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [317.7gb], net total_space [453.6gb], spins? [no], types [ext4]
[2017-09-16T14:17:51,330][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] heap size [1.9gb], compressed ordinary object pointers [true]
[2017-09-16T14:17:51,333][INFO ][o.e.n.Node               ] [6-bjhwl] node name [6-bjhwl] derived from node ID; set [node.name] to override
[2017-09-16T14:17:51,334][INFO ][o.e.n.Node               ] [6-bjhwl] version[5.6.11], pid[21261], build[f5daa16/2017-09-16T09:12:24.346Z], OS[Linux/4.4.0-36-generic/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_60/25.60-b23]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [aggs-matrix-stats]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [ingest-common]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-expression]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-groovy]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-mustache]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-painless]
[2017-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [percolator]
[2017-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [reindex]
[2017-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty3]
[2017-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty4]
[2017-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded plugin [mapper-murmur3]
[2017-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] initialized
[2017-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] starting ...
[2017-09-16T14:17:53,671][INFO ][o.e.t.TransportService   ] [6-bjhwl] publish_address {192.168.8.112:9300}, bound_addresses {{192.168.8.112:9300}
[2017-09-16T14:17:53,676][WARN ][o.e.b.BootstrapCheck     ] [6-bjhwl] max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[2017-09-16T14:17:56,731][INFO ][o.e.h.HttpServer         ] [6-bjhwl] publish_address {192.168.8.112:9200}, bound_addresses {[::1]:9200}, {192.168.8.112:9200}
[2017-09-16T14:17:56,732][INFO ][o.e.g.GatewayService     ] [6-bjhwl] recovered [0] indices into cluster_state
[2017-09-16T14:17:56,748][INFO ][o.e.n.Node               ] [6-bjhwl] started

在不詳細討論的情況下,我們可以看到名為“6-bjhwl”的節點(在您的情況下將是一組不同的字符)已經啟動並選擇自己作為單個集群中的主節點。現在不要擔心掌握意味着什么。這里最重要的是我們在一個集群中啟動了一個節點。

如前所述,我們可以覆蓋集群或節點名稱。這可以在啟動Elasticsearch時從命令行完成,如下所示:

./elasticsearch -Ecluster.name = my_cluster_name -Enode.name = my_node_name

另請注意標有http的行,其中包含有關可從中訪問節點的HTTP地址(192.168.8.112)和端口(9200)的信息。默認情況下,Elasticsearch使用port 9200來提供對其REST API的訪問。如有必要,可以配置此端口。

測試 Elasticsearch

 是否啟動成功,可以打開另一個終端,執行以下操作:

curl 'http://localhost:9200/?pretty'

TIP:如果你是在 Windows 上面運行 Elasticsearch,你可以從 http://curl.haxx.se/download.html 中下載 cURL。 cURL 給你提供了一種將請求提交到 Elasticsearch 的便捷方式,並且安裝 cURL 之后,你可以通過復制與粘貼去嘗試本系列文章的許多例子。

你應該得到和下面類似的響應(response):

C:\Users\jack.yang\Downloads\curl_7_53_1_openssl_nghttp2_x64>curl "http://localhost:9200/?pretty"
{
"name" : "node-1",
"cluster_name" : "test",
"cluster_uuid" : "jJeyEE7aRLW_E1CgFXrSZA",
"version" : {
"number" : "*******",
"build_hash" : "10b1edd",
"build_date" : "2017-09-16T19:01:30.685723Z",
"build_snapshot" : false,
"lucene_version" : "*****",
"minimum_wire_compatibility_version" : "****",
"minimum_index_compatibility_version" : "*****"
},
"tagline" : "You Know, for Search"
}

這就意味着你現在已經啟動並運行一個 Elasticsearch 節點了,你可以用它做實驗了。 單個 節點 可以作為一個運行中的 Elasticsearch 的實例。 而一個 集群 是一組擁有相同 cluster.name 的節點, 他們能一起工作並共享數據,還提供容錯與可伸縮性。(當然,一個單獨的節點也可以組成一個集群) 你可以在 elasticsearch.yml 配置文件中修改 cluster.name ,該文件會在節點啟動時加載 .

下一章節我將為您介紹Elastic Search集群原理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM