Elasticsearch須要至少Java 8。明確的說,截至本文寫做時,推薦使用Oracle JDK 1.8.0_131版本。Java的安裝在不一樣的平臺下是不同,因此在這裏就再也不詳細介紹。你能夠在Oracle官網找到官方推薦的安裝文檔。因此說,當你在安裝Elasticsearch以前,請先經過如下命令檢查你的Java版本(而後根據須要安裝或升級)。html
java -version
echo $JAVA_HOME
一旦Java準備就緒,而後咱們就能夠下載並運行Elasticsearch。咱們能夠從這個頁面http://www.elastic.co/downloads 獲取全部發行版本的二進制安裝包。每個版本都對應有zip和tar壓縮包,還有deb和rpm安裝包,還有Windows下用的msi安裝包。java
爲了簡單,讓咱們使用tar包來安裝。node
使用以下命令下載Elasticsearch 6.1.1的tar包:express
curl -L -O https://artifacts.elastic.co/...
使用以下命令解壓:windows
tar -xvf elasticsearch-6.1.1.tar.gz
上述操做將會在你的當前目錄下建立不少文件和文件夾。而後咱們經過以下命令進入bin目錄:安全
cd elasticsearch-6.1.1/bin
接下來咱們就能夠啓動咱們的單節點集羣:oracle
./elasticsearch
在macOS上,咱們能夠經過Homebrew來安裝Elasticsearch:app
brew install elasticsearch
對於Windows用戶,咱們推薦使用MSI安裝包進行安裝。這個安裝包使用圖形用戶界面來引導你進行安裝。less
首先,從這裏https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.msi下載Elasticsearch 6.1.1的MSI安裝包。curl
而後雙擊下載好的安裝包文件啓動圖形化安裝程序,在第一個界面,選擇安裝目錄:
而後選擇是否將Elasticsearch安裝爲一個系統服務,爲了和用tar包安裝示例保持一致,咱們選擇不安裝爲系統服務,根據本身須要手動啓動:
而後到了配置頁面,這裏就簡單的使用默認的配置值:
進入插件安裝頁面,一樣爲了跟tar包安裝示例保持一致,將全部的選擇去掉,不安裝任何插件:
而後點擊安裝按鈕,Elasticsearch將會被安裝:
默認狀況下,Elasticsearch將會被安裝在%PROGRAMFILES%\Elastic\Elasticsearch
。進入這個目錄而且切換到bin目錄下:
使用命令提示符:
cd %PROGRAMFILES%ElasticElasticsearchbin
使用PowerShell:
cd $env:PROGRAMFILESElasticElasticsearchbin
接下來咱們就能夠啓動咱們的單節點集羣了:
.elasticsearch.exe
若是安裝過程順利的話,你應該會看到以下的信息輸出:
[2016-09-16T14:17:51,251][INFO ][o.e.n.Node ] [] initializing ... [2016-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] [2016-09-16T14:17:51,330][INFO ][o.e.e.NodeEnvironment ] [6-bjhwl] heap size [1.9gb], compressed ordinary object pointers [true] [2016-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 [2016-09-16T14:17:51,334][INFO ][o.e.n.Node ] [6-bjhwl] version[6.1.1], pid[21261], build[f5daa16/2016-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] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [aggs-matrix-stats] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [ingest-common] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [lang-expression] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [lang-mustache] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [lang-painless] [2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [percolator] [2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [reindex] [2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [transport-netty3] [2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded module [transport-netty4] [2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService ] [6-bjhwl] loaded plugin [mapper-murmur3] [2016-09-16T14:17:53,521][INFO ][o.e.n.Node ] [6-bjhwl] initialized [2016-09-16T14:17:53,521][INFO ][o.e.n.Node ] [6-bjhwl] starting ... [2016-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} [2016-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] [2016-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} [2016-09-16T14:17:56,732][INFO ][o.e.g.GatewayService ] [6-bjhwl] recovered [0] indices into cluster_state [2016-09-16T14:17:56,748][INFO ][o.e.n.Node ] [6-bjhwl] started
安裝過程當中咱們沒有關注過多的細節,能夠看到咱們名稱叫作「6-bjhwl」(在你本身的示例中多是別的名稱)的節點已經啓動而且選舉了它本身做爲單點集羣的主節點(master)。不用擔憂此時的master是什麼意思。這裏咱們主要關心的重點是咱們啓動了一個單節點的集羣。
在前面咱們提到過,咱們能夠覆蓋集羣或者是節點的名稱。這個操做能夠經過以下方式啓動Elasticsearch完成。
./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name
還有就是經過上面啓動時的輸出信息咱們能夠看到,咱們能夠經過IP地址(192.168.8.112
)和端口號(9200
)來訪問咱們的節點。默認狀況下,Elasticsearch使用9200
端口提供REST API訪問。這個端口能夠根據須要自定義。
注意!爲安全起見,Elasticsearch被設置爲不容許使用root用戶運行。因此運行以前首先須要建立新用戶並賦予權限。