新年的第一篇文章,由于工作需要,在我自己的Windows电脑上配置elasticsearch + kibana,于是边做边记录
Elasticsearch
下载:Elasticsearch
下载压缩包后,解压,进入
elasticsearch-8.6.1-windows-x86_64\elasticsearch-8.6.1\bin
,启动
elasticsearch.bat
。
呕吼,出错了。似乎我的JDK缺文件,去看看log确定进一步的问题。
[2023-02-04T14:46:51,609][ERROR][o.e.b.Elasticsearch ][R9000X-BLUEBONN] fatal exception while booting Elasticsearch
java.nio.file.NoSuchFileException: C:\Program Files\Java\jdk1.8.0_281\lib\dt.jar
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) ~[?:?]
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) ~[?:?]
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) ~[?:?]
at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:53) ~[?:?]
at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:38) ~[?:?]
at sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:199) ~[?:?]
at java.nio.file.Files.readAttributes(Files.java:1849) ~[?:?]
at java.util.zip.ZipFile$Source.get(ZipFile.java:1279) ~[?:?]
at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:710) ~[?:?]
at java.util.zip.ZipFile.<init>(ZipFile.java:243) ~[?:?]
at java.util.zip.ZipFile.<init>(ZipFile.java:172) ~[?:?]
at java.util.jar.JarFile.<init>(JarFile.java:345) ~[?:?]
at java.util.jar.JarFile.<init>(JarFile.java:316) ~[?:?]
at java.util.jar.JarFile.<init>(JarFile.java:255) ~[?:?]
at org.elasticsearch.jdk.JarHell.checkJarHell(JarHell.java:221) ~[elasticsearch-core-8.6.1.jar:?]
at org.elasticsearch.jdk.JarHell.checkJarHell(JarHell.java:84) ~[elasticsearch-core-8.6.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.initPhase2(Elasticsearch.java:180) ~[elasticsearch-8.6.1.jar:?]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:66) ~[elasticsearch-8.6.1.jar:?]
根据这个网站:支持矩阵
8.0以及以后的版本,至少需要JDK17才行。我电脑是1.8 。当然,我觉得没必要上17,升级到11我觉得就足够了。所以我们换个版本的Elasticsearch,就选最后一个支持JDK1.8的7.17.9。
同样的步骤,下载,解压,启动。
目前我不知道这个bug的来源,我的 Java JDK 是完整的。想必又是 Java 版本太低的问题?
修改这个文件:
elasticsearch-7.17.9-windows-x86_64\elasticsearch-7.17.9\bin\elasticsearch-env.bat
改为以下代码:
@REM if defined ES_JAVA_HOME (
@REM setJAVA="%ES_JAVA_HOME%\bin\java.exe"
@REM setJAVA_TYPE=ES_JAVA_HOME
@REM )elseif defined JAVA_HOME (
@REM rem fallback to JAVA_HOME
@REM echo"warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME">&2
@REM setJAVA="%JAVA_HOME%\bin\java.exe"
@REM set"ES_JAVA_HOME=%JAVA_HOME%"
@REM setJAVA_TYPE=JAVA_HOME
@REM )else(
rem use the bundled JDK (default)setJAVA="%ES_HOME%\jdk\bin\java.exe"set"ES_JAVA_HOME=%ES_HOME%\jdk"setJAVA_TYPE=bundled JDK
@REM )
聪明的你应该能看懂,强制调用压缩包自带的 JDK 代替系统的 JDK。
这样就跑起来了,打开这个网页:
http://localhost:9200/
。看到类似如下的输出,证明我们的Elasticsearch跑起来了。
{"name":"R9000X-BLUEBONN",
"cluster_name":"elasticsearch",
"cluster_uuid":"6Ik54DgQRkWmd2epBpAFUQ",
"version":{"number":"7.17.9",
"build_flavor":"default",
"build_type":"zip",
"build_hash":"ef48222227ee6b9e70e502f0f0daa52435ee634d",
"build_date":"2023-01-31T05:34:43.305517834Z",
"build_snapshot": false,
"lucene_version":"8.11.1",
"minimum_wire_compatibility_version":"6.8.0",
"minimum_index_compatibility_version":"6.0.0-beta1"},
"tagline":"You Know, for Search"}
接下来安装kibana。
kibana
严格意义上来说,kibana 和 Elasticsearch 的版本要对应才行。不过其实在一定的范围内也可以兼容。我们就不去考虑兼容性的问题,直接下对应的版本。
哦对了,终止 Elasticsearch 运行,按
Ctrl+C
即可。
解压。建议在终端(我用的PowerShell)执行bat脚本,不然双击出问题就直接退出了,都不知道问题在哪。在
kibana-7.17.9-windows-x86_64\kibana-7.17.9-windows-x86_64\bin
执行
.\kibana.bat
这次就非常顺利,浏览器访问
http://localhost:5601/
,即可看到kibana的界面。
检查连接
如果你从未改过配置文件,那两者连接应该很快。
分别启动 Elasticsearch 和 kibana,在 kibana 的 devtools 里输入以下指令,即可查看 Elasticsearch 的健康状态:
GET /_cat/health?v
输出如下:
下一篇文章,我研究下这玩意怎么用。
版权归原作者 bluebonnet27 所有, 如有侵权,请联系我们删除。