我是靠谱客的博主 伶俐爆米花,最近开发中收集的这篇文章主要介绍记录ElasticSearch在Linux中的常见问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

配置JDK

如果Linux中之前安装了jdk1.8并配置了环境变量,会导致elasticsearh无法启动,因为elasticsearh默认支持的jdk的版本是11。

具体的报错信息暂无图示,不过我们可以修改bin/elasticsearch-env文件解决这个问题,具体修改内容如下:

if [ ! -z "$JAVA_HOME" ]; then
  JAVA="$JAVA_HOME/bin/java"
else
  if [ "$(uname -s)" = "Darwin" ]; then
 
​    JAVA="$ES_HOME/jdk/Contents/Home/bin/java"
  else
​    JAVA="$ES_HOME/jdk/bin/java"
  fi
fi

将此段文本修改成如下:

if [ "$(uname -s)" = "Darwin" ]; then
 
​	JAVA="$ES_HOME/jdk/Contents/Home/bin/java"
else
​	JAVA="$ES_HOME/jdk/bin/java"
fi

之后保存退出便可

关闭防火墙

在访问elasticsearch前,请确保防火墙是关闭的,执行命令:

#暂时关闭防火墙
systemctl  stop  firewalld
或者
#永久设置防火墙状态
systemctl enable firewalld.service  #打开防火墙永久性生效,重启后不会复原 
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原 

常见报错

报错一.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

vi /etc/security/limits.conf追加以下内容:
* soft nofile 65536
* hard nofile 65536
此文件修改后需要重新登录用户,才会生效

报错二. [2]: max number of threads [3795] for user [es] is too low, increase to at least [4096]

vi /etc/security/limits.conf
配置,如下:
*  soft    nproc   2048
*  hard    nproc   4096

报错三.[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

vi /etc/sysctl.conf追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p

报错四.[4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must beERROR: Elasticsearch did not exit normally - check the logs at /usr/local/java/elasticsearch-7.7.0/logs/elasticsearch.log

在elasticsearch的config目录下,修改 elasticsearch.yml 配置文件,将下面的配置加入到该配置文件中:

	cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值

最后

以上就是伶俐爆米花为你收集整理的记录ElasticSearch在Linux中的常见问题的全部内容,希望文章能够帮你解决记录ElasticSearch在Linux中的常见问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(151)

评论列表共有 0 条评论

立即
投稿
返回
顶部