- 下載elasticsearch-7.2.0匾七,下載地址:https://www.elastic.co/cn/downloads/elasticsearch
- 上傳下載的壓縮包到linux服務(wù)器鞠苟,解壓文件
tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz //解壓壓縮包
cd elasticsearch-7.2.0 //進(jìn)入目錄
mkdir data //創(chuàng)建data文件夾瓶颠,保存數(shù)據(jù)
- 修改Elasticsearch配置:config/elasticsearch.yml
cluster.name: apm-application
node.name: node-1
path.data: /app/elasticsearch/elasticsearch-7.2.0/data
path.logs: /app/elasticsearch/elasticsearch-7.2.0/logs
# ES監(jiān)聽的ip地址
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
# 需要開啟跨域才能給elasticsearch-head耻煤,kibana等連接
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
- 嘗試啟動(dòng)Elasticsearch媚送。
./bin/elasticsearch -d
- 啟動(dòng)失敗報(bào)錯(cuò):通過日志可以發(fā)現(xiàn),es不允許linux通過root用戶啟動(dòng),原因是出于系統(tǒng)安全考慮設(shè)置的條件刃泌。由于Elasticsearch可以接收用戶輸入的腳本并且執(zhí)行弄慰,為了系統(tǒng)安全考慮厕妖,直接使用root權(quán)限會(huì)帶來很大風(fēng)險(xiǎn),所以我們創(chuàng)建一個(gè)elsearch用戶
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-7.2.0.jar:7.2.0]
... 6 more
- 創(chuàng)建Elasticsearch啟動(dòng)用戶首尼,并設(shè)置權(quán)限等
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch elasticsearch-7.2.0
7.使用elsearch用戶,再次嘗試啟動(dòng)
cd elasticsearch-7.2.0
su elsearch
./bin/elasticsearch -d
8.啟動(dòng)失敗,有兩個(gè)錯(cuò)誤软能,是因?yàn)橛袃蓚€(gè)參數(shù)的值太小
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
問題解決辦法
# 第一個(gè)問題:修改/etc/security/limits.conf文件迎捺,添加或修改如下行
hard nofile 65536
soft nofile 65536
# 第二個(gè)問題:修改 /etc/sysctl.conf 文件,添加如下行
vm.max_map_count=262144
- 使用elsearch用戶,再次嘗試啟動(dòng)(Elasticsearch默認(rèn)內(nèi)存是1G查排,因?yàn)槲业姆?wù)器內(nèi)存是足夠的凳枝,沒有修改配置)
# 修改內(nèi)存大小 config/jvm.options
-Xms200m
-Xmx200m
- 查看是否啟動(dòng)成功:訪問ip:9200,出現(xiàn)以下信息即為啟動(dòng)成功