概述
配置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中的常见问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复