小言_互联网的博客

Elasticsearch:windows下安装踩坑

748人阅读  评论(0)

下载ES

https://www.elastic.co/cn/downloads/elasticsearch

es版本所支持的支持jdk

启动es

在bin目录下找到elasticsearch.bat,双击启动。


打开浏览器,输入http://localhost:9200

安装为Windows服务

elasticsearch-service.bat install


elasticsearch-service.bat后面还可以执行这些命令
install: 安装Elasticsearch服务
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)
start: 启动Elasticsearch服务(如果已安装)
stop: 停止服务(如果启动)
manager:启动GUI来管理已安装的服务

问题

根据百度走到这一步就出问题了!!!!!!!!!!!!!!注册为服务后,一直启动失败!

通过cmd启动也是一样

服务启动日志如下:

[2020-06-03 14:05:12] [info]  [ 7584] Commons Daemon procrun (1.1.0.0 64-bit) started
[2020-06-03 14:05:12] [info]  [ 7584] Starting service 'elasticsearch-service-x64' ...
[2020-06-03 14:05:31] [info]  [ 8008] Commons Daemon procrun (1.1.0.0 64-bit) started
[2020-06-03 14:05:31] [info]  [ 8008] Running 'elasticsearch-service-x64' Service...
[2020-06-03 14:05:31] [info]  [ 7032] Starting service...
[2020-06-03 14:05:33] [error] [ 7584] apxServiceControl(): dwState(4) != dwCurrentState(1); dwWin32ExitCode = 1067, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2020-06-03 14:05:33] [error] [ 7584] apxServiceControl(): returning FALSE
[2020-06-03 14:05:34] [error] [ 7584] Failed to start service 'elasticsearch-service-x64'
[2020-06-03 14:05:34] [info]  [ 7584] Start service finished, returning 0
[2020-06-03 14:05:34] [error] [ 7584] Commons Daemon procrun failed with exit value: 5 (Failed to start service)

作为新手是真的看不懂什么原因,去度娘,QQ群和社区里也没能找到原因,后来在错误日志中发现如下报错:

以为是环境变量的问题,百度了下发现也没说es安装需要配置环境变量,但还是根据提示配置了下,也还是不行。

看了官方给的文档中,打开服务管理查看配置,好像也没什么好改的,也没有报错中的es_path_conf项。

把日志级别设置为debug,再次启动服务看看日志情况。

[2020-06-03 14:23:26] [debug] ( prunsrv.c:1729) [14816] Commons Daemon procrun log initialized
[2020-06-03 14:23:26] [info]  ( prunsrv.c:1733) [14816] Commons Daemon procrun (1.1.0.0 64-bit) started
[2020-06-03 14:23:26] [info]  ( prunsrv.c:766 ) [14816] Starting service 'elasticsearch-service-x64' ...
[2020-06-03 14:23:44] [debug] ( prunsrv.c:1729) [13640] Commons Daemon procrun log initialized
[2020-06-03 14:23:44] [info]  ( prunsrv.c:1733) [13640] Commons Daemon procrun (1.1.0.0 64-bit) started
[2020-06-03 14:23:45] [info]  ( prunsrv.c:1643) [13640] Running 'elasticsearch-service-x64' Service...
[2020-06-03 14:23:45] [debug] ( prunsrv.c:1417) [12200] Inside ServiceMain...
[2020-06-03 14:23:45] [debug] ( prunsrv.c:885 ) [12200] reportServiceStatusE: dwCurrentState = 2, dwWin32ExitCode = 0, dwWaitHint = 3000, dwServiceSpecificExitCode = 0
[2020-06-03 14:23:45] [info]  ( prunsrv.c:1175) [12200] Starting service...
[2020-06-03 14:23:45] [debug] ( javajni.c:236 ) [12200] loading jvm 'C:\Program Files\Java\jdk1.8.0_102\jre\bin\server\jvm.dll'
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[0] -Des.networkaddress.cache.ttl=60
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[1] -Des.networkaddress.cache.negative.ttl=10
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[2] -XX:+AlwaysPreTouch
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[3] -Djava.awt.headless=true
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[4] -Dfile.encoding=UTF-8
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[5] -Djna.nosys=true
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[6] -XX:-OmitStackTraceInFastThrow
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[7] -Djava.class.path=C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-cli-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-core-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-geo-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-launchers-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-plugin-classloader-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-secure-sm-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\elasticsearch-x-content-7.7.0.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\HdrHistogram-2.1.9.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticsearch-7.7.0\lib\hppc-0.8.1.jar;C:\es\elasticsearch-7.7.0-windows-x86_64\elasticse
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[8] exit
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[9] abort
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[10] -Xms1024m
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[11] -Xmx1024m
[2020-06-03 14:23:45] [debug] ( javajni.c:753 ) [  480] Jvm Option[12] -Xss1024k
[2020-06-03 14:23:45] [debug] ( javajni.c:937 ) [  480] argv[0] = --quiet
[2020-06-03 14:23:45] [debug] ( javajni.c:990 ) [  480] Java Worker thread started org/elasticsearch/bootstrap/Elasticsearch:main
[2020-06-03 14:23:46] [debug] ( javajni.c:504 ) [ 9524] Exit hook with exit code 78
[2020-06-03 14:23:46] [debug] ( prunsrv.c:960 ) [ 9524] Start exit hook called ...
[2020-06-03 14:23:46] [debug] ( prunsrv.c:961 ) [ 9524] VM exit code: 78
[2020-06-03 14:23:46] [debug] ( service.c:507 ) [14816] apxServiceControl(): Sleeping 1000 milliseconds
[2020-06-03 14:23:47] [debug] ( service.c:511 ) [14816] apxServiceControl(): QueryServiceStatus OK
[2020-06-03 14:23:47] [error] ( service.c:520 ) [14816] apxServiceControl(): dwState(4) != dwCurrentState(1); dwWin32ExitCode = 1067, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2020-06-03 14:23:47] [error] ( service.c:534 ) [14816] apxServiceControl(): returning FALSE
[2020-06-03 14:23:47] [error] ( prunsrv.c:787 ) [14816] Failed to start service 'elasticsearch-service-x64'
[2020-06-03 14:23:47] [info]  ( prunsrv.c:795 ) [14816] Start service finished, returning 0
[2020-06-03 14:23:47] [error] ( prunsrv.c:1805) [14816] Commons Daemon procrun failed with exit value: 5 (Failed to start service)

差点从入门到放弃!最后还是决定再试试,这次跟着官方给的文档走。
https://www.elastic.co/guide/en/elasticsearch/reference/7.7/index.html

发现了更奇葩的问题,我从新下了一个安装包,解压后没有修改任何配置,直接安装服务并启动,出现如下:

安装完成后第一次启动居然成功了,然后我stop服务再次启动,之后的就全都失败了!!!在公司电脑(win7、windows server 2008、windows server 2012)上都是一样,我开始怀疑是JDK的问题,因为我本身就是JAVA开发,个人电脑和公司两台windows测试服务器都装过JAVA开发环境,所以我找了一台没有JDK环境的电脑,结果一切都非常顺利…WHY!!!

安装服务时显示用的是es自带的jdk,后面重启服务也都没有出错!那么问题又来了,难道用系统自带的JDK就不行吗?!

大概意思就是要使用自己的Java版本,请设置JAVA_HOME环境变量。如果必须使用与捆绑的JVM不同的Java版本,则建议使用受支持 的Java LTS版本。如果使用已知的Java错误版本,Elasticsearch将拒绝启动。
我电脑上装的是jdk8,他捆绑的是jdk11不知道是不是这个原因!难道需要更改服务器上的JAVA环境??升级服务器上的JDK版本…感觉风险好大啊,好多项目跑着呢!晕!!!


转载:https://blog.csdn.net/fh_luchenxi/article/details/106495598
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场