ElasticSearch之Windows中環境安裝
- 2022 年 11 月 2 日
- 筆記
- 大數據, elasticsearch
ElasticSearch 說明
本章,我們主要以在 Windows 中對ElasticSearch 安裝進行介紹!
1、🍞 下載 ElasticSearch
這裡我們下載的版本為7.17.4為例進行介紹。
下載 ElasticSearch 的地址為://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-windows-x86_64.zip
下載 Kibana 的地址為://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-windows-x86_64.zip
更多歷史版本請到//www.elastic.co/cn/downloads/past-releases進行瀏覽下載:

2、🥐 安裝 ElasticSearch
新建目錄D:\Net_Program\Net_ElasticSearch,將下載下來的 elasticsearch-7.17.4-windows-x86_64.zip 解壓到該目錄下。
3、🥨 修改環境變數
因為新版的 ElasticSearch 已經棄用了 JAVA_HOME 環境變數,轉而使用了 ES_JAVA_HOME 環境變數,並且在新版的安裝包中已經提供了 Java 運行環境,因此我們需要增加 ES_JAVA_HOME 這個環境變數,不然在後續配置中可能會出現「warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME」的警告資訊。
我們在系統變數中新建變數名為ES_JAVA_HOME,值為D:\Net_Program\Net_ElasticSearch\jdk的環境變數,如下圖所示:

4、🥯 修改 elasticsearch-env 文件
修改 D:\Net_Program\Net_ElasticSearch\bin 下的elasticsearch-env文件(注意是沒有後綴的這個文件),注釋掉關於 JAVA_HOME 相關的部分,目的就是讓 ElasticSearch 使用自帶的 ES_JAVA_HOME,如下圖所示:


5、🥞 修改 elasticsearch.yml 文件
編輯D:\Net_Program\Net_ElasticSearch\config\elasticsearch.yml文件,在文件末尾增加如下配置:
#設置快照存儲地址
path.repo: ["D:\\Net_Program\\Net_ElasticSearch\\backup"]
#數據存放路徑(可不設置,默認就是如下地址)
path.data: D:/Net_Program/Net_ElasticSearch/datas
#日誌存放路徑
path.logs: D:/Net_Program/Net_ElasticSearch/logs
#節點名稱
node.name: node-1
#節點列表
discovery.seed_hosts: ["192.168.3.200"]
#初始化時master節點的選舉列表
cluster.initial_master_nodes: ["node-1"]
#集群名稱
cluster.name: es-main
#對外提供服務的埠
http.port: 9200
#內部服務埠
transport.port: 9300
#啟動地址,如果不配置,只能本地訪問
network.host: 192.168.3.200
#跨域支援
http.cors.enabled: true
#跨域訪問允許的域名地址
http.cors.allow-origin: "*"
6、🧇 修改 JVM 記憶體
如果你的伺服器記憶體有限,則需要根據實際情況設置 ElasticSearch 的記憶體限制。
編輯 config 文件夾中的jvm.options文件,增加如下配置即可,此處我設置的是 4G 範圍內。
特別說明:此步驟需要注意,建議最好根據伺服器的記憶體情況進行設置,以免後期再來調整。同時此步驟需要在將 ElasticSearch 安裝為服務前進行設置,否則安裝服務後,即便是重啟服務也不會生效。
#設置最小記憶體
-Xms4g
#設置最大記憶體
-Xmx4g

:::warning 注意
我們在設置-Xms和-Xmx屬性的時候,一定要設置為相同的值,否則在啟動服務的時候出現如下的錯誤,倒是啟動 ElasticSearch 服務失敗。
比如我們都可以設置為 4g,-Xms4g 和 -Xmx4g
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] initialized
[2022-10-19T09:47:57,423][INFO ][o.e.n.Node ] [node-1] starting ...
[2022-10-19T09:47:57,438][INFO ][o.e.x.s.c.f.PersistentCache] [node-1] persistent cache index loaded
[2022-10-19T09:47:57,438][INFO ][o.e.x.d.l.DeprecationIndexingComponent] [node-1] deprecation component started
[2022-10-19T09:47:57,660][INFO ][o.e.t.TransportService ] [node-1] publish_address {110.185.107.18:9300}, bound_addresses {110.185.107.18:9300}
[2022-10-19T09:47:57,973][INFO ][o.e.b.BootstrapChecks ] [node-1] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2022-10-19T09:47:57,989][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: initial heap size [4294967296] not equal to maximum heap size [16106127360]; this can cause resize pauses
[2022-10-19T09:47:57,989][INFO ][o.e.n.Node ] [node-1] stopping ...
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] stopped
[2022-10-19T09:47:58,035][INFO ][o.e.n.Node ] [node-1] closing ...
[2022-10-19T09:47:58,051][INFO ][o.e.n.Node ] [node-1] closed
[2022-10-19T09:47:58,051][INFO ][o.e.x.m.p.NativeController] [node-1] Native controller process has stopped - no new native processes can be started:::
7、🧀 安裝 ElasticSearch 服務
以管理員身份運行 CMD 並定位到 ElasticSearch 的 bin 目錄,執行如下命令,執行完後 Windows 服務中就多了一個顯示名稱為 Elasticsearch 7.17.4 (elasticsearch-service-x64)的服務,如下圖所示:
elasticsearch-service.bat install


8、🍔 配置 SSL 證書
-
啟動剛才安裝的Elasticsearch 7.17.4 (elasticsearch-service-x64)服務。

-
在D:\Net_Program\Net_ElasticSearch目錄下新建certs文件夾,用於存放生成的 CA 證書。

-
CMD 定位到 bin 目錄,輸入如下命令:
elasticsearch-certutil ca接著輸入 ca 證書輸出地址和密碼(如果設置了密碼,請記住,下面會用到):
ca 證書地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12ca 證書密碼:
123456
-
輸入如下命令:
elasticsearch-certutil cert --ca D:\Net_Program\Net_ElasticSearch\certs\elastic-stack-ca.p12接著分別輸入上一步生成 CA 證書的密碼、此集群證書的輸出地址和密碼(如果設置了密碼,請記住,下面會用到)
ca 證書密碼:
123456此集群證書的輸出地址:
D:\Net_Program\Net_ElasticSearch\certs\elastic-certificates.p12此集群證書的密碼:
123456
-
分別輸入如下命令:
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password接著輸入密碼 123456(該密碼為上面生成證書設置的密碼)
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password接著輸入密碼 123456(該密碼為上面生成證書設置的密碼)

-
此時,SSL 證書生成完成,我們將 certs 文件夾拷貝到 config 下:

-
在 elasticsearch.yml 文件中增加如下配置:
#開啟xpack xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true #證書配置 xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
9、🍕 設置賬戶密碼
重啟服務,以管理員身份運行 CMD 並定位到 ElasticSearch 的 bin 目錄,執行如下命令,然後緊接著輸入 y 確定,然後輸入每個賬戶的密碼和確認密碼即可,如下圖所示:
elasticsearch-setup-passwords interactive

此時我們在瀏覽器中訪問//192.168.3.200:9200/發現要求輸入賬戶和密碼,這是我們輸入 elastic(賬戶)和 123456(密碼,剛才設置的密碼)即可訪問成功。


到此,ElasticSearch 的安裝就完成了!
10、🥙 Kibana 安裝
10.1、🥪 安裝 Kibana
將下載下來的kibana-7.17.4-windows-x86_64.zip解壓到D:\Net_Program\Net_ElasticSearchKibana文件夾下
10.2、🌭 修改文件
編輯 D:\Net_Program\Net_ElasticSearchKibana\config\kibana.yml 文件,在文件末尾增加如下配置:
單機模式:
#設置中文顯示
i18n.locale: "zh-CN"
#設置訪問用戶
elasticsearch.username: "elastic"
#設置訪問密碼
elasticsearch.password: "123456"
#ElasticSearch連接地址
elasticsearch.hosts: ["//192.168.3.200:9200"]
#IP訪問地址和埠號
server.host: "192.168.3.200"
server.port: 5601
集群模式:
#設置中文顯示
i18n.locale: "zh-CN"
#設置訪問用戶
elasticsearch.username: "elastic"
#設置訪問密碼
elasticsearch.password: "123456"
#ElasticSearch連接地址
elasticsearch.hosts: ["//192.168.3.200:9200", "//192.168.3.200:9201", "//192.168.3.200:9202"]
#IP訪問地址和埠號
server.host: "192.168.3.200"
server.port: 5601
注意:為了避免訪問 Kibana 出現server.publicBaseUrl 缺失,在生產環境中運行時應配置。某些功能可能運行不正常。的提示,請在上述配置文件中增加如下的配置(具體可參考官網說明://www.elastic.co/guide/en/kibana/7.17/settings.html#server-publicBaseUrl):
server.publicBaseUrl: "//192.168.3.200:5601/"
10.3、🌮 安裝 Kibana 服務
這裡我們使用的是 NSSM 工具將 Kibana 安裝為 Windows 服務。
-
在 nssm.exe 所在文件夾滑鼠右鍵,選擇「在此處打開 Powershell 窗口(s)」選項,如下圖所示:

-
然後輸入如下命令調出設置窗體
.\nssm install在彈出的窗體中,Application 選項卡中設置各個參數值:
-
Path:選擇 kibana.bat 所在的路徑,如
D:\Net_Program\Net_ElasticSearchKibana\bin\kibana.bat -
Startup directory:選擇 Path 後,Startup directory 選擇會自動填充
-
Argument:為啟動服務的參數,此處為空即可
-
Service name:服務名稱,如
ElasticSearch-KibanaService
設置完成後點擊
Install service按鈕即完成,此時去查看系統服務有多了一個叫ElasticSearch-KibanaService的服務了

-
10.4、🌯 瀏覽驗證
啟動剛才安裝的ElasticSearch-KibanaService服務, 瀏覽器中輸入//192.168.3.200:5601/進行訪問,登錄帳號 elastic 和密碼 123456,如下圖所示:













