CentOS7安装ElasticSearch7.9.2
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
测试启动结果
成功开启外网访问。