由于对ES基本概念和历史演进在网上随处可查,所以本文在此不做赘述.随意本文直接讲述如何安装使用ES
1.安装JDK
ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以最好安装JDK1.8及以上版本.具体安装方法可以参考如下连接:
环境 | 连接 |
---|---|
windows | Java JDK下载安装及环境配置超详细图文教程 |
ubuntu | Ubuntu 20.04系统下JDK的安装与配置 |
2.安装ElasticSearch
1.ElasticSearch下载地址:
https://www.elastic.co/cn/downloads/elasticsearch
2.下载并解压
3.进入bin目录下,双击执行elasticsearch.bat
双击elasticsearch.bat后出现下图报错,说明我们安装的es和本机的jdk版本不兼容.
网址https://www.elastic.co/cn/support/matrix#matrix_jvm网址中展示了es和jdk的对应版本,观察版本对应表可以发现,jdk1.8的环境下可以es8.0以下的版本,es8.0以上的版本要求jdk最低为17.
由于本地环境为jdk1.8,所以本文安装的es的版本为7.17.11.具体步骤复刻步骤1和步骤2.下载解压7.17.11版本es后.不过有一个与上表不符的问题(博主暂时也没有找到更好的解释) ,就是平时用jdk8,但运行es7无法启动。在elasticsearch7以上的版本中会自带jdk.需要修改elasticsearch-env配置文件,就可以使用自带jdk版本,不影响其他java项目。
打开 bin/elasticsearch-env.bat文件
从bat文件可以看到,如果我们没有配置ES_JAVA_HOME
,会默认使用以前配置的系统变量JAVA_HOME
。我的JAVA_HOME
版本是8,而这个版本的ES需要jdk11,所以提示以上版本低的提示。
rem comparing to empty string makes this equivalent to bash -v check on env var
rem and allows to effectively force use of the bundled jdk when launching ES
rem by setting JAVA_HOME=
if defined ES_JAVA_HOME (
set JAVA="%ES_JAVA_HOME%\bin\java.exe"
set JAVA_TYPE=ES_JAVA_HOME
) else if defined JAVA_HOME (
rem fallback to JAVA_HOME
echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
set JAVA="%JAVA_HOME%\bin\java.exe"
set "ES_JAVA_HOME=%JAVA_HOME%"
set JAVA_TYPE=JAVA_HOME
) else (
rem use the bundled JDK (default)
set JAVA="%ES_HOME%\jdk\bin\java.exe"
set "ES_JAVA_HOME=%ES_HOME%\jdk"
set JAVA_TYPE=bundled JDK
修改为:
rem use the bundled JDK (default)
set JAVA="%ES_HOME%\jdk\bin\java.exe"
set "ES_JAVA_HOME=%ES_HOME%\jdk"
set JAVA_TYPE=bundled JDK
windows环境变量配置ES_HOME
**重新启动 elasticsearch-env.bat **
启动ElasticSearch报错:error updating geoip database
这是一个bug,解决方法是在config/ elasticsearch.yml 中添加如下配置,关闭geoip数据库的更新 :
ingest.geoip.downloader.enabled: false
重启es结果如下:
4.验证是否安装成功
浏览器地址栏输入:http://localhost:9200/
大功告成!!!
3.ElasticSearch安装为Windows服务
elasticsearch的bin目录下有一个elasticsearch-service.bat ,cmd 进入bin目录下执行: elasticsearch-service.bat install
结果如下:
可以从任务管理器中看到es服务已经在运行了
elasticsearch-service.bat后面还可以执行这些命令
install: 安装Elasticsearch服务
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)
start: 启动Elasticsearch服务(如果已安装)
stop: 停止服务(如果启动)
manager:启动GUI来管理已安装的服务