目录
问题现象:
前言(选看)
最近在重温Elasticsearch,看来一下官网,都出到8.4.3版本了。想当初学的时候用的还是5.6.8,版本更新了很多意味着有大变动。
windows环境基于Elasticsearch8.4.0的Head工具下载、安装、使用!
解决方法:
1、下载Head工具
https://github.com/mobz/elasticsearch-head/archive/master.zip
2、安装
2.1、解压zip包到自定义位置。
2.2、安装nodejs
由于Head基于grunt(nodejs项目构建工具),因此需要安装grunt、cnpm、nodejs。
可以通过nodejs的安装程序安装nodejs,也可以通过nvmw(windows环境的nodejs管理工具)。
这里我使用nvmw,因为它能方便的实现nodejs升级和维护:
打开cmd命令窗口,输入命令:
npm install -g nvmw
nvmw下载成功,查看nvmw版本的命令:
nvmw -V
查看当前已下载的nodejs版本,输入:
可以看到我下载过两个版本(system version和绿色字的就是我当前在用的版本),这就是nvmw的一个优点,它允许安装多个nodejs版本,我们就可以根据需求来切换到自己要用的版本,当然如果不想用了也可以删除nodejs,输入:
nvm uninstall nodejs的版本号
输入以下命令,安装nodejs:
install nodejs的版本号
安装成功,会提醒用use(暂时使用)或switch(永久切换)来使用或切换nodejs版本:
切换到自己想用的版本,输入:
//nvmw switch nodejs版本号,如:
nvmw switch 12.7.0
//或
//nvmw switch vnodejs版本号,如:
nvmw switch v12.7.0
可以看到还是16.18.0的版本,这里可能是因为cmd窗口有缓存bug,我们可以重新开一个命令行窗口,来查看版本号:
可以看见其实是已经切换成功了的!
2.3、安装cnpm
我们都知道npm通过访问官网来下载镜像,所以有时候网速很慢,所以基本上都会使用cnpm下载国内淘宝镜像。
输入命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
下载成功:
2.4、安装grunt
输入命令:
cnpm install -g grunt-cli
安装成功:
2.5、下载安装Head工具所需的依赖。
进入head的zip解压后的路径,输入:
cnpm install
成功:
至此Head就安装完成了,只要启动就可以使用了。
3、使用
依旧head的zip解压后的路径,输入:
grunt server
启动成功:
测试,在浏览器访问:
http://localhost:9100
可以发现连接失败了,按f12进入开发者模式,可以看见报错
No 'Access-Control-Allow-Origin' header is present on the requested resource.
这是因为跨域了,而Elasticsearch默认是不允许跨域访问的,因此还需要给Elasticsearch的添加可跨域访问的配置。
打开Elasticsearch的config目录下的elasticsearch.yml文件,在结尾处添加如下配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
ingest.geoip.downloader.enabled: false
保存配置后,重启Elasticsearch,再次访问Head:
成功,导航栏有对应的功能界面就不赘述了,大家自己去探索吧!