- 下載elasticsearch-7.2.0,下載地址:https://www.elastic.co/cn/downloads/elasticsearch
- 上傳下載的壓縮包到linux服務器,解壓文件
tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz //解壓壓縮包
cd elasticsearch-7.2.0 //進入目錄
mkdir data //創建data文件夾,保存數據
- 修改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監聽的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
- 嘗試啟動Elasticsearch。
./bin/elasticsearch -d
- 啟動失敗報錯:通過日志可以發現,es不允許linux通過root用戶啟動,原因是出于系統安全考慮設置的條件。由于Elasticsearch可以接收用戶輸入的腳本并且執行,為了系統安全考慮,直接使用root權限會帶來很大風險,所以我們創建一個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
- 創建Elasticsearch啟動用戶,并設置權限等
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch elasticsearch-7.2.0
7.使用elsearch用戶,再次嘗試啟動
cd elasticsearch-7.2.0
su elsearch
./bin/elasticsearch -d
8.啟動失敗,有兩個錯誤,是因為有兩個參數的值太小
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]
問題解決辦法
# 第一個問題:修改/etc/security/limits.conf文件,添加或修改如下行
hard nofile 65536
soft nofile 65536
# 第二個問題:修改 /etc/sysctl.conf 文件,添加如下行
vm.max_map_count=262144
- 使用elsearch用戶,再次嘗試啟動(Elasticsearch默認內存是1G,因為我的服務器內存是足夠的,沒有修改配置)
# 修改內存大小 config/jvm.options
-Xms200m
-Xmx200m
- 查看是否啟動成功:訪問ip:9200,出現以下信息即為啟動成功