es-head 安装

eshead 为nodejs 项目,故需要首先安装nodejs。完成之后:

1、下载eshead

git clone git://github.com/mobz/elasticsearch-head.git

需要使用git工具,可以 yum -y install git 。

2、安装 grunt 

grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,6.0里的head插件就是通过grunt启动的。因此需要安装一下grunt:

npm install -g grunt-cli

npm install grunt --save-dev

完成之后,执行 grunt -version 查看是否安装成功。

3、项目install

在项目目录下执行  npm  install 

如果按照过程中提示权限错误,可以使用命令:npm install --unsafe-perm

4、运行 es-head

grunt server

后台运行:nohup npm run start &

5、配置

因为 es-head 默认端口为9100,访问ES 9200 需要跨域,所以需要配置 es 支持跨域:

vi elasticsearch.yml

添加如下代码:

network.host: 0.0.0.0

http.cors.enabled: true

http.cors.allow-origin: "*"

另外可以修改 es-head 默认ES连接地址:

app.js 4388行 this.base_uri

 

注意:如果页面进行数据浏览报406 Not Acceptable

问题现象:使用es客户端连接es之后,点击数据浏览的时候右边无数据,F12查看发现报了406 Not Acceptable错误

问题原因:contentType不一致导致的,前端请求的contentType是application/json;charset=UTF-8,而elasticsearch hean master的前端代码中用的是application/x-www-form-urlencoded

解决方法:

1、找到客户端安装路径

2、找到 vendor.js 文件共有两处,此文件位于/usr/src/app/_site文件夹下
将 6886行 contentType: "application/x-www-form-urlencoded" 修改为 contentType: "application/json;charset=UTF-8"
然后再将 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" && 修改为 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
3、不用重启,直接强制刷新浏览器验证。

 

posted on 2021-08-12 11:00  TrustNature  阅读(1484)  评论(0编辑  收藏  举报