Windows版 elasticsearch7.8.0 教程及报错解决

一 下载elasticsearch7.8.0

下载地址:
https://www.elastic.co/cn/downloads/elasticsearch

二 下载elasticsearch-head

2.1下载elasticsearch-head

下载地址:
https://codeload.github.com/mobz/elasticsearch-head/zip/master

2.2 下载nodejs

下载地址:
https://nodejs.org/en/
启动elasticsearch-head需要nodejs环境, 下载后安装, 然后打开命令行工具查看版本
在这里插入图片描述

三 启动前配置

3.1 配置 elasticsearch-7.8.0\config\elasticsearch.yml

找到network位置

# 设成0.0.0.0让任何人都可以访问,线上服务不要这样设置。
network.host: 0.0.0.0
http.port: 9200
# 解决elasticsearch-head 集群健康值: 未连接问题, 配置解决跨域, 否则es-head连接会跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

3.2 修改elasticsearch-head服务器监听地址:Gruntfile.js

进入到elasticsearch-head根目录下, 找到Gruntfile.js文件

connect: {
	server: {
 		options: {
	        port: 9100,
	        base: '.',
	        keepalive: true,
	        hostname: '*'
	    }
	}
}

四 启动

4.1 启动elasticsearch7.8.0

进入解压目录下, 进入bin文件夹, 找到elasticsearch.bat文件, 双击运行
如果遇到报错, 参考后面的报错解决

4.2 启动elasticsearch-head

进入到elasticsearch-head工具根目录下, 打开dos界面, 执行如下命令

npm install -g grunt-cli

grunt 是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动。
安装所需依赖

npm install

启动es-head

grunt server

在这里插入图片描述

五 报错解决

5.1 MaxDirectMemorySize may have been miscalculated due to JDK-8074459

启动elasticsearch报错

Warning: MaxDirectMemorySize may have been miscalculated due to JDK-8074459.
Please use a newer version of Java or set MaxDirectMemorySize explicitly.

启动报这个错, 是因为windows系统中配置着jdk, 这里默认使用的是环境变量中的JAVA_HOME, 由于elasticsearch版本太高, jdk版本太低, 所以导致了这个问题, 在elasticsearch7.x之后的版本, 已经集成了自带的jdk, 在根目录下的jdk文件夹中
这里需要修改elasticsearch-env.bat启动文件的配置内容, 设置系统使用elasticsearch自带的jdk版本
在elasticsearch-env.bat文件中找到关于JAVA_HOME的配置, 注释掉if…else判断的东西, 替换为如下三行代码

	set JAVA="%ES_HOME%\jdk\bin\java.exe"
  	set JAVA_HOME="%ES_HOME%\jdk"
  	set JAVA_TYPE=bundled jdk

然后保存, 重新启动elasticsearch, 就可以发现启动成功了!
在这里插入图片描述

5.2 the default discovery settings are unsuitable for production use

bootstrap checks failed [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

这个问题是由于配置的问题导致的, 修改配置文件即可解决
在elasticsearch.yml中配置

node.name: node-1
cluster.initial_master_nodes: ["node-1"]

修改完成后保存即可, 重新启动就不会有报错信息了

至此, 问题完美解决

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值