提示:大部分工作人员或者学生使用的jdk版本是 JDK 1.8 版本,可是es随着版本的更新所依赖的 JDK 版本也变高了
版本分析Elasticsearch 5 需要 Java 8 以上版本; Elasticsearch 6.5 开始支持 Java 11; Elasticsearch 7.0 开始,内置了 Java 环境,所以说,安装 7.0+ 版本会方便很多。虽然很方便,此时会遇到一个问题: 就是大部分人 都会再自己的环境变量中 设置 JAVA_HOME 此时你的es不会走他的内置JDK 而是走你的JAVA_HOME 【开始引发下面一系列问题】
问题1:
Elasticsearch 启动JDK版本警告问题!
future versions of Elasticsearch will require Java 11; your Java version from [/data/Java/jdk1.8.0_291/jre] does not meet this requirement解决方案:
- 不使用本地的安装的JDK,用自带的即可!
- 继续使用本地的JDK,需要修改以下配置
- 修改elasticsearch安装目录/bin/elasticsearch-env 文件,注释掉以下代码部分即可解决!
以下警告原因是由于jdk版本太低造成的,jdk版本需要在9.0以上
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.解决方案:
- 经过查资料,解决办法是修改jvm.options文件配置elasticsearch/config/jvm.options 文件
- -XX:+UseConcMarkSweepGC改为-XX:+UseG1GC
以下日志信息中隐藏这两个异常信息,下面为你逐一解决
ERROR: [2] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] [2]: 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 ERROR: Elasticsearch did not exit normally - check the logs at /etc/opt/configuration/elk/7.6.1/elasticsearch-7.6.1/logs/elasticsearch.log [2021-09-29T00:48:27,521][INFO ][o.e.n.Node ] [lacne-centos] stopping ... [2021-09-29T00:48:27,554][INFO ][o.e.n.Node ] [lacne-centos] stopped [2021-09-29T00:48:27,554][INFO ][o.e.n.Node ] [lacne-centos] closing ... [2021-09-29T00:48:27,570][INFO ][o.e.n.Node ] [lacne-centos] closed解决方案:
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
编辑vim /etc/security/limits.conf,追加以下内容【如果不是root用户,记得加sudo】
* soft nofile 65536 * hard nofile 65536
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
编辑vim /etc/sysctl.conf,追加以下内容:【如果不是root用户,记得加sudo】
vm.max_map_count=655360 vm.max_map_count=262144
最后执行:sysctl -p 立即生效【如果不是root用户,记得加sudo】
问题4原因是elasticsearch.yml配置文件中,服务器是单节点的情况下,elasticsearch.yml配置文件中默认是有两个节点,如果没有集群情况下修改成本机的就可以了
[1]: 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解决方案:
- 在elasticsearch的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:
cluster.initial_master_nodes: ["lacne-centos"] #这里的lacne-centos为服务器名称 命令:hostname问题5:
切记不可在root用户下运行
切换到普通用户下运行即可!
问题6浏览器地址 服务器IP:9200 访问不成功!
解决方案:- 修改elasticsearch.yml文件
0.0.0.0



