Windows安裝Elasticsearch保姆級圖文教程
前言
Elasticsearch是一個(gè)基于Lucene的搜索服務(wù)器,它提供了一個(gè)分布式多用戶能力的全文搜索引擎。本教程將詳細(xì)介紹如何在Windows系統(tǒng)上安裝和配置Elasticsearch,專注于HTTP訪問方式,適合初學(xué)者跟隨操作。

系統(tǒng)要求
在開始安裝之前,請確保系統(tǒng)滿足以下要求:
- 操作系統(tǒng):Windows 10/11 或 Windows Server 2016及以上版本
- Java版本:JDK 11或更高版本(推薦使用JDK 17)
- 內(nèi)存:至少4GB RAM(推薦8GB或更多)
- 磁盤空間:至少10GB可用空間
第一步:安裝Java JDK
1.1 檢查Java版本
首先,我們需要檢查系統(tǒng)是否已安裝Java。
按下 Win + R 打開運(yùn)行對話框,輸入 cmd 并回車打開命令提示符。
在命令提示符中輸入以下命令:
java -version
如果顯示Java版本信息且版本號大于等于11,可以跳過Java安裝步驟。如果沒有安裝Java或版本過低,請繼續(xù)下面的步驟。
1.2 下載Java JDK
訪問Oracle官網(wǎng)或OpenJDK官網(wǎng)下載Java JDK:
Oracle JDK:https://www.oracle.com/java/technologies/downloads/
OpenJDK:https://jdk.java.net/
進(jìn)入官網(wǎng)后下滑找到Java17,下載適配Windows系統(tǒng)的exe安裝程序

選擇適合Windows的版本進(jìn)行下載(推薦下載JDK 17),或者點(diǎn)擊這里本地下載。。
1.3 安裝Java JDK
雙擊下載的JDK安裝包,按照安裝向?qū)нM(jìn)行安裝,建議使用默認(rèn)安裝路徑


安裝完成,咱們使用exe程序安裝后會自動(dòng)配置環(huán)境變量,所以配置環(huán)境變量這一步驟咱們直接省略

打開一個(gè)新的命令提示符,驗(yàn)證Java安裝
java -version javac -version

第二步:下載Elasticsearch
打開瀏覽器,訪問Elasticsearch官方網(wǎng)站:https://www.elastic.co/downloads/elasticsearch

第三步:安裝Elasticsearch
3.1 安裝
找到下載的ZIP文件,右鍵選擇"全部提取",選擇解壓路徑(建議解壓到 D:\elasticsearch 或 C:\elasticsearch)
解壓完成后的目錄結(jié)構(gòu):

3.2 修改配置文件
進(jìn)入 config 目錄,找到 elasticsearch.yml 文件,用記事本或其他文本編輯器打開。
# 集群名稱 cluster.name: my-elasticsearch # 節(jié)點(diǎn)名稱 node.name: node-1 # 數(shù)據(jù)存儲路徑 path.data: C:\elasticsearch\data # 日志存儲路徑 path.logs: C:\elasticsearch\logs # 網(wǎng)絡(luò)設(shè)置 network.host: localhost http.port: 9200 # 發(fā)現(xiàn)設(shè)置(單節(jié)點(diǎn)模式) discovery.type: single-node # 安全配置(啟用認(rèn)證但使用HTTP訪問) xpack.security.enabled: true xpack.security.enrollment.enabled: false xpack.security.http.ssl.enabled: false xpack.security.transport.ssl.enabled: false
第四步:啟動(dòng)Elasticsearch
4.1 使用命令行啟動(dòng)
打開命令提示符(建議以管理員身份運(yùn)行),切換到Elasticsearch的bin目錄:
cd C:\elasticsearch\elasticsearch-9.1.5\bin
執(zhí)行啟動(dòng)命令:
elasticsearch.bat
4.2 設(shè)置用戶密碼
之前運(yùn)行Elasticsearch的DOS窗口不要關(guān)閉,打開新的命令提示符窗口(保持Elasticsearch運(yùn)行),執(zhí)行:
cd C:\elasticsearch\elasticsearch-9.1.5\bin elasticsearch-setup-passwords interactive
按照提示為以下用戶設(shè)置密碼:
- elastic(超級用戶) - 最重要
- apm_system
- kibana_system
- logstash_system
- beats_system
- remote_monitoring_user
建議:為了簡化,可以為所有用戶設(shè)置相同的密碼,比如 123456(僅用于開發(fā)環(huán)境)。
設(shè)置完成后會顯示:

4.3 驗(yàn)證安裝
訪問:http://localhost:9200
會出現(xiàn)登錄框,輸入:
- 用戶名:
elastic - 密碼:剛才設(shè)置的密碼

成功訪問后會顯示類似以下的JSON響應(yīng):
{
"name" : "node-1",
"cluster_name" : "my-elasticsearch",
"cluster_uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version" : {
"number" : "9.1.5"
},
"tagline" : "You Know, for Search"
}

第五步:管理Elasticsearch
5.1 重置elastic用戶密碼
如果忘記了elastic用戶的密碼,可以使用以下命令重置:
cd C:\elasticsearch\elasticsearch-9.1.5\bin elasticsearch-reset-password -u elastic
5.2 創(chuàng)建新用戶
可以創(chuàng)建新的用戶來訪問Elasticsearch:
elasticsearch-users useradd myuser -p mypassword -r superuser
- elasticsearch-users:Elasticsearch 提供的用戶管理命令行工具
- useradd:子命令,表示要添加一個(gè)新用戶
- myuser:要?jiǎng)?chuàng)建的新用戶名
- -p mypassword:設(shè)置該用戶的密碼為 “mypassword”
- -r superuser:為該用戶分配"superuser"(超級用戶)角色
5.3 生成API密鑰
為了方便應(yīng)用程序訪問,可以生成API密鑰:
將your_password 替換成剛剛設(shè)置的密碼
curl -X POST "http://localhost:9200/_security/api_key" -u elastic:your_password -H "Content-Type: application/json" -d "{\"name\": \"my-api-key\", \"expiration\": \"1d\"}"
響應(yīng)示例:
{
"id": "zG1b05kBO1n6BYunlsxp",
"name": "my-api-key",
"expiration": 1760274018926,
"api_key": "WtMHJqud-QOEt6A6bf5VoQ",
"encoded": "ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ=="
}
使用API密鑰訪問:
curl -H "Authorization: ApiKey ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ==" http://localhost:9200

第六步:設(shè)置為Windows服務(wù)(可選)
6.1 安裝服務(wù)
在命令提示符中(以管理員身份運(yùn)行),切換到Elasticsearch的bin目錄,執(zhí)行:
elasticsearch-service.bat install
6.2 啟動(dòng)服務(wù)
elasticsearch-service.bat start

6.3 查看服務(wù)狀態(tài)
打開"服務(wù)"管理器(按 Win + R,輸入 services.msc),找到"Elasticsearch"服務(wù)。
可以在這里設(shè)置服務(wù)的啟動(dòng)類型為"自動(dòng)",這樣系統(tǒng)啟動(dòng)時(shí)會自動(dòng)啟動(dòng)Elasticsearch。

第七步:安裝和配置Kibana
7.1 下載Kibana
訪問:https://www.elastic.co/downloads/kibana
選擇與Elasticsearch相同版本的Windows ZIP包。

7.2 解壓和配置
- 解壓Kibana到指定目錄(例如:
C:\kibana) - 進(jìn)入
config目錄,編輯kibana.yml文件:
# Kibana 服務(wù)運(yùn)行的端口號,默認(rèn)是5601 server.port: 5601 # Kibana 服務(wù)綁定的主機(jī)地址,"localhost"表示只允許本地訪問 server.host: "localhost" # Elasticsearch 服務(wù)器的地址列表 elasticsearch.hosts: ["http://localhost:9200"] # kibana_system用戶 elasticsearch.username: "kibana_system" # 在4.2小節(jié)設(shè)置的kibana_system用戶密碼 elasticsearch.password: "123456" # 禁用timelion插件 vis_type_timelion.enabled: false
7.3 啟動(dòng)Kibana
在命令提示符中切換到Kibana的bin目錄,執(zhí)行:
cd C:\kibana\kibana-9.1.5\bin kibana.bat
Kinbana啟動(dòng)會很慢,等待3-5分鐘啟動(dòng)成功后,在瀏覽器中訪問:http://localhost:5601
使用elastic用戶和密碼登錄。


第八步:常見問題和解決方案
問題1:端口被占用
錯(cuò)誤信息:Port 9200 is already in use
解決方案:
- 檢查是否有其他Elasticsearch實(shí)例在運(yùn)行
- 修改配置文件中的端口號:
http.port: 9201
- 使用命令查看端口占用:
netstat -ano | findstr 9200
問題2:內(nèi)存不足
錯(cuò)誤信息:OutOfMemoryError
解決方案:
修改 config/jvm.options 文件中的內(nèi)存設(shè)置:
-Xms2g -Xmx2g
問題3:無法訪問Elasticsearch
可能原因:
- 防火墻阻止了9200端口
- network.host配置問題
解決方案:
- 檢查Windows防火墻設(shè)置
- 確認(rèn)配置文件中的network.host設(shè)置:
network.host: localhost # 僅本地訪問 # 或 network.host: 0.0.0.0 # 允許遠(yuǎn)程訪問(需要配合防火墻)
問題4:忘記用戶密碼
解決方案:
cd C:\elasticsearch\elasticsearch-9.1.5\bin elasticsearch-reset-password -u elastic
問題5:Kibana無法連接Elasticsearch
解決方案:
- 確認(rèn)Elasticsearch正在運(yùn)行
- 檢查kibana.yml中的elasticsearch.hosts配置
- 如果啟用了認(rèn)證,確認(rèn)kibana_system用戶密碼正確
總結(jié)
本教程詳細(xì)介紹了在Windows系統(tǒng)上安裝和配置Elasticsearch的完整流程,從Java JDK的安裝、Elasticsearch的下載解壓、配置文件修改、用戶密碼設(shè)置,到可選的Windows服務(wù)配置和Kibana的安裝配置,每個(gè)步驟都提供了具體的操作指令和截圖說明。通過啟用HTTP訪問方式并配置基礎(chǔ)認(rèn)證,既保證了安全性又便于初學(xué)者理解和操作,最后還提供了常見問題的解決方案,幫助用戶快速搭建起一個(gè)可用的Elasticsearch搜索服務(wù)環(huán)境。
到此這篇關(guān)于Windows安裝Elasticsearch保姆級圖文教程的文章就介紹到這了,更多相關(guān)Windows安裝Elasticsearch內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot多數(shù)據(jù)源切換實(shí)現(xiàn)代碼(Mybaitis)
實(shí)際工作中我們會遇到springboot項(xiàng)目初始化啟動(dòng)時(shí)候,不能指定具體連接哪個(gè)數(shù)據(jù)源的時(shí)候,不同的接口連接不同的數(shù)據(jù)源或者前端頁面指定連接某個(gè)數(shù)據(jù)源等等情況,就會遇到動(dòng)態(tài)數(shù)據(jù)源切換的問題,需要的朋友可以參考下2022-04-04
springboot+vue實(shí)現(xiàn)Token自動(dòng)續(xù)期(雙Token方案)
雙Token方案通過訪問令牌和刷新令牌提高用戶登錄安全性和體驗(yàn),訪問令牌有效期短,包含用戶信息,用于請求校驗(yàn),本文就來介紹一下springboot+vue實(shí)現(xiàn)Token自動(dòng)續(xù)期(雙Token方案),感興趣的可以了解一下2024-10-10
SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變問題小結(jié)
spring.factories其實(shí)是SpringBoot提供的SPI機(jī)制,底層實(shí)現(xiàn)是基于SpringFactoriesLoader檢索ClassLoader中所有jar引入的META-INF/spring.factories文件,這篇文章主要介紹了SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變,需要的朋友可以參考下2023-05-05
Android中幾種圖片特效的處理的實(shí)現(xiàn)方法
這篇文章主要介紹了 Android中幾種圖片特效的處理的實(shí)現(xiàn)方法的相關(guān)資料,這里有放大縮小圖片,獲得圓角圖片,獲得帶倒影圖片的幾種方法,需要的朋友可以參考下2017-08-08
Java23種設(shè)計(jì)模式中的單例模式你了解嗎
這篇文章主要為大家詳細(xì)介紹了Java23種設(shè)計(jì)模式中的單例模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
java?String拼接json的方式實(shí)現(xiàn)
本文主要介紹了java?String拼接json的方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09
Java實(shí)現(xiàn)分布式系統(tǒng)限流
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)分布式系統(tǒng)限流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
java 線程中start方法與run方法的區(qū)別詳細(xì)介紹
這篇文章主要介紹了java 線程中start方法與run方法的區(qū)別詳細(xì)介紹的相關(guān)資料,在java線程中調(diào)用start方法與run方法的區(qū)別在哪里? 這兩個(gè)問題是兩個(gè)非常流行的初學(xué)者級別的多線程面試問題,這里進(jìn)行詳細(xì)說明,需要的朋友可以參考下2016-11-11

