安装参考步骤
https://blog.csdn.net/weixin_54975325/article/details/138960955
安装遇到的问题
1. ElasticSearch 提示 future versions of Elasticsearch will require Java 11解决方法
错误提示:future versions of Elasticsearch will require Java 11; your Java version from [C:Program FilesJavajdk1.8.0_201jre] does not meet this requirement
原因是使用了系统环境变量中的jdk(1.8),而es7要求的jdk版本为11
解决方法:
如果是window系统,打开elasticsearch-env.bat
找到42行,注释掉默认使用系统的jdk的设置,增加使用es里自带的jdk11
if defined JAVA_HOME (
rem set JAVA="%ES_JDK%injava.exe"
set JAVA="D:codingelasticsearch-7.8.0jdkinjava.exe"
) else (
rem set JAVA="%ES_HOME%jdkinjava.exe"
rem set JAVA_HOME="%ES_HOME%jdk"
set JAVA="D:codingelasticsearch-7.8.0jdkinjava.exe"
set JAVA_HOME="D:codingelasticsearch-7.8.0jdk"
)
重启es后,再执行命令,就没有错误提示了
提示elasticsearch不能用root用户启动
新建用户,给文件赋予新建的用户的elasticsearch 的安装目录,授予elasticsearch安装目录的读写执行权限
useradd es
passwd asd12
chwon es /opt/elasticsearch-7.6.1 -R
chowd 777 -R /opt/elasticsearch-7.6.1 -R
然后切换到新建用户的es 再次执行启动就不会报这个错误了
Elasticsearch启动出现 node validation exception
从报错信息中看到,文件,虚拟内存的最大值太低,我们需要调整设置虚拟内存大小,以满足ElasticSearch 运行需求。
做出的改变
按照图中的要求,分别编辑 /etc/security/limits.conf 文件和 /etc/sysctl.conf 文件,添加内容。
在第一个文件limits.conf 中添加时,把提示内容的 * 星号也带上。
第二个文件添加的内容,没有星号,如图所示。
按图中操作修改完成后,reboot 命令重启一下虚拟机,再次执行 安装目录下的 ./elasticsearch 命令,即可访问成功。
访问地址:https:(你的ip): 9200(默认端口号)
总结:
ElasticSearch 有个很奇怪的特点,不能使用 root 用户启动,必须切换为普通用户,并且赋权。
#添加用户命令(这里es为自定义用户名,写你喜欢的名字)
useradd es
# 给es用户授权命令:es为第一步的用户名,后面写自己的 elasticsearch 文件夹地址
chown -R es /你的es文件夹地址
# 一定要切换到 定义的普通用户 再启动 es(这里的es也是用户,su - 用户名,切换用户)
su - es
# 再次启动es即可
最后访问es:
ip:9200 即可访问。
用户名:elastic
密码:输入生成的密码(第一次启动时,会生成 密码,CA认证码等,记得截图保存一下,方便后期修改密码。)