1:下載
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz
2:解壓
tar -zxvf elasticsearch-7.9.2-linux-x86_64.tar.gz
3:啓動
1:執行報錯
切換到 bin目錄下
./elasticsearch
報錯:
不允許使用root用戶啓動。
2:新建es用戶
adduser es
chown -R es /application/elastic_search/
JDK版本:
安裝ElasticSearch7.9.2不需要額外配置JDK環境,即使本地JDK版本不匹配也不影響啓動。
切換到es用戶
su es
再次啓動:
3:驗證是否啓動成功
看到上圖代表成功啓動。
4:設置外網訪問
切換到config目錄下,打開配置文件
修改以下配置,重啓ElasticSearch。
重新啓動之後報錯:
以下操作需切換到root用戶下!!
報錯1
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
解決方式:
vim /etc/security/limits.conf
加入以下配置:
* soft nofile 65535
* hard nofile 65535
查看是否生效:
ulimit -Hn
重新從root切換到用戶es之後纔會生效:
特別注意:
1:* 代表所有用戶生效
2:es 代表es用戶生效
報錯2
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決方式:
vim /etc/sysctl.conf
加入以下配置:
vm.max_map_count=655360
修改完成之後沒有立即生效,執行:
sysctl -p
報錯3
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解決方式:
vim ../config/elasticsearch.yml
重新啓動,啓動成功,perfect!!!
此時仍然還不夠,因爲機器沒有開啓9200端口外網訪問,此時需要設置防火牆。
防火牆放開9200端口:
firewall-cmd --zone=public --add-port=9200/tcp --permanent
重啓防火牆
systemctl restart firewalld.service
測試啓動結果
成功開啓外網訪問。