版本elasticsearch-8.11.1,解压安装完后,修改安装目录下conf/jvm.options,
默认配置如下:
-Xms4g
-Xmx4g
默认的配置占用内存太多了,调小一些:
-Xms256m
-Xmx256m
由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行。
进入bin目录下修改elasticsearch配置
vim ./elasticsearch
############## 添加配置解决jdk版本问题 ##############
# 将jdk修改为es中自带jdk的配置目录
export JAVA_HOME=/usr/local/elasticsearch-7.13.2/jdk
export PATH=$JAVA_HOME/bin:$PATH
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/usr/local/elasticsearch-7.13.2/jdk/bin/java"
else
JAVA=`which java`
fi
修改绑定的ip允许远程访问
#默认只允许本机访问,修改为0.0.0.0后则可以远程访问
# 绑定到0.0.0.0,允许任何ip来访问
network.host: 0.0.0.0
做了以上三处修改后启动报错:
Caused by: java.lang.IllegalStateException: Can't move to stopped state when not started
以下是关键错误信息:
问题1:1.bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144]"
表明 Elasticsearch 在启动时执行了引导检查,但是发现了一个问题:虚拟内存区域的最大数量 (vm.max_map_count
) 设置过低,这个参数通常通过修改系统的内核参数来调整。为了解决这个问题,你需要增加 vm.max_map_count
的值,使其至少达到 262144。
解决方法:
通过编辑 /etc/sysctl.conf
文件来设置这个参数。打开文件,找到并确保以下行存在或添加:
# 增加虚拟内存区域的最大数量 vm.max_map_count=262144
运行以下命令来应用新的配置
sudo sysctl -p
问题2:bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low,increase to at least [65535]
Elasticsearch 在启动时执行了引导检查,并发现文件描述符的最大数量过低。为了解决这个问题,你需要增加系统中允许 Elasticsearch 进程使用的最大文件描述符数量。
解决方法:
编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536
这将设置所有用户的文件描述符限制。如果你只想为特定用户或组设置这个限制,可以替换 *
为具体的用户名或组名。然后,保存文件并注销或重新启动系统以应用这些更改
重启后又遇到如下警告:
[2023-11-23T14:36:13,189][WARN ][o.e.h.n.Netty4HttpServerTransport] [ambari-hadoop3] http client did not trust this server's certificate,closing connection Netty4HttpChannel{localAddress=/192.168.10.103:9200,remoteAddress=/192.168.10.1:63231}
控制台一直打印输出
这是因为在 Elasticsearch 中启用 HTTPS 并设置基本身份验证(Basic Authentication)后,你需要提供有效的用户名和密码以访问 9200 端口。默认情况下,Elasticsearch 不提供预配置的用户名和密码,因此你需要创建相应的用户。
此时如果你以https前缀访问9200端口,会提示你身份认证,你需要在安装目录下的bin目录下执行以下命令:
./elasticsearch-users useradd <desired_username> -p <desired_password> -r superuser
#这会创建一个具有超级用户权限的用户。请替换 <desired_username> 和 <desired_password> 为你希望使用的实际用户名和密码。
然后输入身份认证,即可验证成功。
当然也可参照这篇博客中提及的方法去关闭身份验证
安装过程参考该篇博客 :
Linux环境下安装Elasticsearch,史上最详细的教程来啦~_linux elasticsearch_緈諨の約錠的博客-CSDN博客
原文地址:https://blog.csdn.net/qq_44540985/article/details/134573721
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。