在windows上安裝Elasticsearch
Elasticsearch可以使用.zip軟件包安裝在Windows上。 elasticsearch-service.bat命令,它將設置Elasticsearch作為服務運行。
Elasticsearch的最新穩定版在Download Elasticsearch下載,其他的版本在Past Releases page下載。
NOTE:
Elasticsearch需要java8或者更高的java版本。
可以使用official Oracle distribution 或者使用open-source distribution 例如OpenJDK。
1.下載和安裝.zip軟件包
下載elasticsearch5.0
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.2.zip
解壓.zip 得到elasticsearch-5.0.2的文件夾,它就是%ES_HOME%,在windows終端窗口中,cd到%ES_HOME%文件夾,如下:
cd c:\elasticsearch-5.0.2
2.通過命令行運行elasticsearch
Elasticsearch可以通過如下命令直接啟動
.\bin\elasticsearch
默認情況下,Elasticsearch在前台運行,將其日志打印到STDOUT,並可以通過按Ctrl-C停止。
3.通過命令行配置elasticsearch
默認情況下,Elasticsearch從$ES_HOME/config/elasticsearch.yml文件加載其配置。
此配置文件的格式在Configuring Elasticsearch中進行了說明。
也可以在命令行上使用-E語法指定可以在配置文件中指定的任何設置,如下所示:
./bin/elasticsearch -Ecluster.name=my_cluster -Enode.name=node_1
NOTE:
含有空格的值,必須用引號括起來,例如:
Epath.logs="C:\My Logs\logs".
TIP:
通常,任何集群范圍的設置如cluster.name都應該添加到elasticsearch.yml配置文件中,
而任何特定於節點的設置如node.name都可以在命令行中指定。
4.檢查elasticsearch是否在運行
你可以通過向localhost上的端口9200發送HTTP請求來測試Elasticsearch節點是否正在運行:
GET /
如果elasticsearch正在運行,你會得到如下response
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "5.0.2",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "6.2.1"
},
"tagline" : "You Know, for Search"
}
5.在windows上安裝elasticsearch服務
Elasticsearch可以被安裝成一個服務在后台運行,並且做到開機自啟動,無需任何交互。實現以上需要借助在bin目錄下的elasticsearch-service.bat
腳本,該腳本幫助我們安裝、刪除、管理、配置、啟動、停止elasticsearch服務。如上所有操作都可以在命令行完成
c:\elasticsearch-5.0.2\bin>elasticsearch-service
Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]
該腳本執行時需要加一個必選參數(install、remove、start、stop、manager之一),一個可選參數(服務標識ID,對多elasticsearch服務時有用)
必選參數解釋如下:
install 將elasticsearch安裝為服務
remove 刪除已經安裝好的elasticsearch服務(如果服務已經啟動,則先停止再刪除)
start 啟動已經安裝好的elasticsearch服務
stop 停止已經運行的elasticsearch服務
manager 啟動一個GUI,通過GUI來管理已經安裝
基於可用的JDK/JRE(通過JAVA_HOME設置)的體系結構,合適的64位(x64)或者32位(x86)elasticsearch服務將會被安裝,
此在安裝過程中被確定下來:
c:\elasticsearch-5.0.2\bin>elasticsearch-service install
Installing service : "elasticsearch-service-x64"
Using JAVA_HOME (64-bit): "c:\jvm\jdk1.8"
The service 'elasticsearch-service-x64' has been installed.
NOTE:
雖然JRE可用於Elasticsearch服務,但由於使用客戶端VM(與為長期運行的應用程序提供更好性能的服務器JVM相反),因此不建議使用JRE,會產生警告信息。
NOTE:
升級(或降級)JVM版本不需要重新安裝服務。 但是,如果跨JVM類型(例如JRE與SE)進行升級,需要重新安裝該服務。
6.自定義elasticsearch服務
在elasticsearch 服務被安裝之前,可以通過設置環境變量的值,來配置elasticsearch服務(可以用command,也可以使用System Properties->Environment Variables GUI)
SERVICE_ID 服務唯一標識,適用於一台機器多個elasticsearch實例,32位windows上默認為elasticsearch-service-x86,64位windows上默認為elasticsearch-service-x64
SERVICE_USERNAME 服務用戶名稱,默認為本機系統賬號名稱
SERVICE_PASSWORD 在%SERVICE_USERNAME%中指定的用戶的密碼
SERVICE_DISPLAY_NAME 服務的名稱 默認為Defaults to Elasticsearch <version> %SERVICE_ID%
SERVICE_DESCRIPTION 服務的描述,默認為Elasticsearch <version> Windows Service - https://elastic.co
JAVA_HOME 服務所需的JVM的安裝目錄
LOG_DIR 日志文件目錄,默認為%ES_HOME%\logs
DATA_DIR 數據文件目錄,默認為%ES_HOME%\data
CONF_DIR 配置文件目錄(需要包括elasticsearch.yml和log4j2.properties文件),默認為/etc/elasticsearch
ES_JAVA_OPTS 想要應用的任何其他JVM系統屬性
ES_START_TYPE 服務的啟動方式。可以設置為自動或者手動,默認為手動
ES_STOP_TIMEOUT procrun等待服務正常退出的時間,默認為0
NOTE:
從根本上來說,elasticsearch-service.bat依賴Apache Commons Daemon(http://commons.apache.org/proper/commons-daemon/)項目來安裝服務,在服務安裝之前,環境變量將會被復制,並且在服務的整個生命周期中一直使用。這意味服務已經安裝后,任何對環境變量的修改將失效,除非重裝服務
NOTE:
在windows中,heap size(https://www.elastic.co/guide/en/elasticsearch/reference/5.0/heap-size.html)可以在elasticsearch運行時通過命令行設置,也可以在第一次安裝elasticsearch服務的時候進行設置。要調整已經安裝的elasticsearch的服務,需要使用service manager:bin\elasticsearch-service.bat manager。
使用Manager GUI
在安裝好elasticsearch服務后,也能通過Manager GUI(elasticsearch-service-mgr.exe),來配置服務。GUI可以直接顯示服務信息包括服務狀態、啟動方式、JVM、啟動和停止設置等。只需要輸入elasticsearch-service.bat manager,啟動GUI
絕大多數通過Manager GUI進行的配置信息修改(如 JVM)需要重啟服務,修改才能生效
7.Windows中.zip包安裝后的目錄結構
.zip包完全是自包含的(entirely self-contained)。
默認情況下,所有文件和目錄都包含在$ES_HOME 解壓縮時創建的目錄中。
這是非常方便的,因為你不必創建任何目錄開始使用Elasticsearch,卸載Elasticsearch直接刪除$ES_HOME目錄即可。 但是,建議更改config目錄,數據目錄和logs目錄的默認位置,
以便后來對重要數據的保留。
Type | Description | Default Location | Setting |
---|---|---|---|
home | elasticsearch主目錄($ES_HOME) | 解壓軟件包自動創建 | |
bin | elasticsearch啟動節點啟動腳本,elasticsearch-plugin插件安裝腳本 | $ES_HOME/bin | |
conf | 配置文件,包含elasticsearch.yml | $ES_HOME/config | path.conf |
data | 節點上分配的每個index/shard的數據文件的位置,可以有多個位置 | $ES_HOME/data | path.data |
logs | 日志文件的存放位置 | $ES_HOME/logs | path.logs |
plugins | 插件文件的位置,每個插件一個子文件夾 | $ES_HOME/plugins | |
repo | 共享文件系統存儲庫位置,容納多個位置。可以放置在此處指定的任何目錄的任何子目錄中。 | Not configured | path.repo |
script | 腳本文件的位置 | $ES_HOME/scripts | path.scripts |
8.進一步
你現在已經設置了一個測試Elasticsearch環境。 在開始認真開發或使用Elasticsearch開始生產之前,您需要進行一些額外的設置: