windows下运行elasticsearch7.4.2出现了一些问题,修改elasticsearch-env.bat,elasticsearch7.x依赖jdk11,我们现在主流
使用的还是jdk1.8
future versions of Elasticsearch will require Java 11; your Java version from [D:Program FilesJavajdk1.8.0_51jre] does not meet this requirement
最终的方案如下:
set JAVA_HOME=D:Program FilesJavajdk1.8.0_51 if defined JAVA_HOME ( @REM set JAVA="%JAVA_HOME%binjava.exe" set JAVA="D:elasticsearch-7.4.2jdkbinjava.exe" ) else ( @REM set JAVA="%ES_HOME%jdkbinjava.exe" @REM set JAVA_HOME="%ES_HOME%jdk" set JAVA="D:elasticsearch-7.4.2jdkbinjava.exe" set JAVA_HOME="D:elasticsearch-7.4.2jdk" )
elasticsearch证书的问题
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: No available authentication scheme
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:475) ~[netty-codec-4.1.38.Final.jar:4.1.38.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283) ~[netty-codec-4.1.38.Final.jar:4.1.38.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [netty-transport-4.1.38.Final.jar:4.1.38.Final]
解决方案
# 中间过程需要设置密码,本地开发可以不设,但是生产环境就需要设置了 .elasticsearch-certutil ca # 中间过程输入的密码,就是elasticsearch-certutil ca中的密码,这个密码如果为空,则这里可以不用输入 .elasticsearch-certutil cert --ca elastic-stack-ca.p12 # 生成了两个文件elastic-certificates.p12和elastic-stack-ca.p12在elasticsearch目录下 # 在config中创建文件夹certs,将elastic-certificates.p12和elastic-stack-ca.p12复制过来 # 修改config目录下的elasticsearch.yml,增加下面的内容 xpack.license.self_generated.type: basic xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 # 重启es,运行成功 .elasticsearch
.elasticsearch-setup-passwords interactive修改密码的时候,提示了这个错误
Cluster state has not been recovered yet, cannot write to the [null] index
因为是单机的,还是得定义一下主节点,在elasticsearch.yml中做下面的设置后,再执行.elasticsearch-setup-passwords interactive
node.name: node-1 cluster.initial_master_nodes: ["node-1"]
从启动日志可以看到elasticsearch中包含9200和9300两个端口,9200是es节点与外部通讯使用的端口,
9300是es节点之间通讯使用的端口
接下来是windows下对应的kibana7.4.2,执行命令.kibana即可
server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] elasticsearch.username: "elastic" elasticsearch.password: "123456" xpack.security.enabled: true
安装分词插件
cd D:elasticsearch-7.4.2bin .elasticsearch-plugin install "file:///D://es-plugins//elasticsearch-analysis-pinyin-7.4.2.zip" .elasticsearch-plugin install "file:///D://es-plugins//elasticsearch-analysis-ik-7.4.2.zip"



