自己想學習Elasticsearch,但是又不懂Linux,按照同事給的Linux安裝教程,也是搞不明白,於是想先在Windows上安裝一下入門。可是百度的大部分都是ES 1.x,2.x版本的教程,5.x的教程也是搞不明白,很多步驟就直接跳過了。經過一步一步的嘗試,最終還是成功了。記錄下,希望對大家有所幫助。
一、JAVA環境配置
ElasticSearch是基於lucence開發的,也就是執行需要java jdk()支援。所以要先安裝JAVA環境。
由於ElasticSearch 5.x 依賴於JDK 1.8
的,所以現在我們下載JDK 1.8或者更高版本。
下載JDK1.8,下載完成後安裝。
接下來就是環境變數配置。
1、右鍵 【我的電腦】→【屬性】→【高階系統設定】→【環境變數】如圖
2、在【系統變數】裡【新建】,變數名為JAVA_HOME,變數值為JDK的安裝路徑。然後確定。
驗證是否成功,開啟cmd,輸入
echo %JAVA_HOME%
顯示你設定的JDK的路徑即為正確。
3、在【系統變數】選項區域中檢視PATH變數,如果不存在,則新建變數 PATH,否則選中該變數,單擊“編輯”按鈕,在“變數值”文字框的最後位置追加【%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;】單擊確定按鈕。
4、在【系統變數】選項區域中檢視CLASSPATH 變數,如果不存在,則新建變數CLASSPATH,否則選中該變數,單擊“編輯”按鈕,在“變數值”文字框的最後位置追加【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】。
5、開啟cmd,輸入javac命令測試是否成功,出現下圖則ok
注:配置完成之後需要在新的cmd視窗輸入javac。
二、ElasticSearch配置
1、下載ElasticSearch
從官網下載ElasticSearch https://www.elastic.co/downloads/elasticsearch,下載zip。
這裡我們下載最新版 ElasticSearch5.3 。
2、解壓到指定的目錄,這裡我解壓到了C盤根目錄。
3、進入到C:\elasticsearch-5.3.0\bin
執行elasticsearch.bat
4、本機就啟動了一個ElasticSearch節點,啟動後會顯示如圖所示
5、開啟瀏覽器裡測試一下
OK大功告成~~
6、設定為windows系統服務
elasticsearch-service.bat install
可跟的命令
install: 安裝Elasticsearch服務
remove: 刪除已安裝的Elasticsearch服務(如果啟動則停止服務)
start: 啟動Elasticsearch服務(如果已安裝)
stop: 停止服務(如果啟動)
manager:啟動GUI來管理已安裝的服務
三、安裝ElasticSearch-head外掛
網上很多教程都說用plugin
命令去裝es-head外掛,跟開頭說的一樣都是1.x,2.x版本,我也下載看了,裡面是有plugin的檔案。可是我們是要用5.x的版本,es包裡並沒有提供plugin檔案。
elasticsearch5不可以直接通過plugin -install mobz/elasticsearch-head安裝,並且head需要在node環境下執行
1、安裝node環境
網址:https://nodejs.org/en/download/ 下載Windows版msi的
安裝完後開啟cmd檢視版本node -v
2、安裝grunt
- grunt是一個很方便的構建工具,可以進行打包壓縮、測試、執行等等的工作,5.x裡的head外掛就是通過grunt啟動的。因此需要安裝grunt.
- 注意:路徑切到nodejs安裝目錄下,[我安裝在C:\Program Files\nodejs]。
npm install -g grunt-cli
- -g代表全域性安裝。安裝路徑為
C:\Users\{yourname}\AppData\Roaming\npm
,並且自動加入PATH變數。 - 檢視版本號
grunt -version
4、下載head外掛
https://github.com/mobz/elasticsearch-head
5、配置head
由於head的程式碼還是2.6版本的,直接執行有很多限制,比如無法跨機器訪問。因此需要使用者修改兩個地方:
① c:/elasticsearch-head-master/Gruntfile.js,增加hostname屬性,設定為*,如圖
②修改連線地址:C:\elasticsearch-head-master/_site/app.js,將表紅線地址改為es伺服器地址。
修改一下es使用的引數。編輯C:/elasticsearch-5.3.0/config/config/elasticsearch.yml:
cluster.name: es-5.2-test #換個叢集的名字,免得跟別人的叢集混在一起
node.name: node-es-101 #換個節點名字
network.host: 0.0.0.0 #修改一下ES的監聽地址,這樣別的機器也可以訪問
http.port: 9200 #埠號,預設就好
# 增加新的引數,這樣head外掛可以訪問es
http.cors.enabled: true
http.cors.allow-origin: "*"
@注意,設定引數的時候:後面要有空格!
6、安裝head
其實下載elasticsearch-head的時候,github的連結上有介紹安裝方式,如下:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
open http://localhost:9100/
進入到我們下載好的elasticsearch-head包裡,然後執行npm install
安裝完成之後npm run start
或grunt server
瀏覽器訪問 http://localhost:9100/
到此,Elasticsearch和ElasticSearch-head已經裝好了。
四、安裝分詞
以下是安裝的官方外掛,個別外掛需要配置才能使用,可根據需要刪除 plugins 目錄無關的外掛,重啟 elasticsearch 生效。
bin/elasticsearch-plugin install discovery-multicast
bin/elasticsearch-plugin install analysis-icu
bin/elasticsearch-plugin install analysis-kuromoji
bin/elasticsearch-plugin install analysis-phonetic
bin/elasticsearch-plugin install analysis-smartcn
bin/elasticsearch-plugin install analysis-stempel
bin/elasticsearch-plugin install analysis-ukrainian
bin/elasticsearch-plugin install discovery-file
bin/elasticsearch-plugin install ingest-attachment
bin/elasticsearch-plugin install ingest-geoip
bin/elasticsearch-plugin install ingest-user-agent
bin/elasticsearch-plugin install mapper-attachments
bin/elasticsearch-plugin install mapper-size
bin/elasticsearch-plugin install mapper-murmur3
bin/elasticsearch-plugin install lang-javascript
bin/elasticsearch-plugin install lang-python
bin/elasticsearch-plugin install repository-hdfs
bin/elasticsearch-plugin install repository-s3
bin/elasticsearch-plugin install repository-azure
bin/elasticsearch-plugin install repository-gcs
bin/elasticsearch-plugin install store-smb
bin/elasticsearch-plugin install discovery-ec2
bin/elasticsearch-plugin install discovery-azure-classic
bin/elasticsearch-plugin install discovery-gce