码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • elasticsearch-head安装及详细配置


    一,介绍

    elasticsearch head 是一款开源的可视化的elasticsearch可视化工具,使用相当方便和广泛。

    这个插件安装比较简单,网上已经有写得比较好的文章了,例如:Elasticsearch-head可视化工具安装及实例使用介绍_斌哥谈编程的博客-CSDN博客文章目录一、环境准备1.1 下载1.2 运行二、查看Elasticsearch-head界面2.1 服务端安装及配置2.2 配置跨域访问2.3 查看界面2.3.1 基本概念2.3.2 数据浏览2.3.3 基本查询2.3.4 复合查询一、环境准备由于ES官方并没有为ES提供界面管理工具,仅仅是提供了后台的服务。elasticsearch-head是一个为ES开发的一个页面客户端工具,其源码托管于GitHub,地址为:https://github.com/mobz/elasticsearch-head提https://blog.csdn.net/houpeibin2012/article/details/108482148

    安装方式有4种,我也选择的是源码安装。

    源码安装,通过npm run start启动
    通过docker安装
    通过chrome插件安装
    通过ES的plugin方式安装

    其实docker安装应该更好用,有兴趣的可以参考

    https://jingyan.baidu.com/article/c1465413d7bd7a0bfdfc4c50.htmlhttps://jingyan.baidu.com/article/c1465413d7bd7a0bfdfc4c50.html

    环境说明:

    本文记录博主自己的安装步骤,以备今后查验。

    操作系统版本:Red Hat Enterprise Linux release 8.2 (Ootpa)

    二,安装步骤:

    2.1,nodejs及npm安装

    head是一个Node.js项目,所以需要先安装Node.js才可以运行head。安装了Node.js后,安装需要用到的npm命令就自带安装上了。

    注意从这里开始要使用root用户。下载Nodejs:

    Download | Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.https://nodejs.org/en/download/

    当前最新的版本是16.17.0

    如果操作系统版本低的话可以选择低一些的版本,例如14.20.0

    下滑到下载页面的底部:

     

    所有版本的下载列表:Index of /dist/https://nodejs.org/dist/

    上传下载的安装包,然后解压:

    #xz -dk node-v16.17.0-linux-x64.tar.xz

    #tar -xvf node-v16.17.0-linux-x64.tar

    执行node命令 查看版本:

     [root@goya1 bin]# ./node -v
    v16.17.0

    解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
    ln -s /app/nodejs/bin/npm /usr/local/bin/
    ln -s /app/nodejs/bin/node /usr/local/bin/
    设置npm镜像为国内的
    npm config set registry http://registry.npm.taobao.org

    可以通过输入npm命令来验证是否生效。

     2.2,elasticsearch-head安装

    GitHub - mobz/elasticsearch-head: A web front end for an elastic search clusterA web front end for an elastic search cluster. Contribute to mobz/elasticsearch-head development by creating an account on GitHub.https://github.com/mobz/elasticsearch-head

    通过上面的连接下载安装包,然后将安装包上传到服务器。解压到目录/app/head-master

    进入/app/head-master目录,执行npm install命令。

    有错误产生,Nodejs版本过高。重新下载降级版本node-v14.20.0-linux-x64.tar来安装,成功通过。

    也有另外一种解决办法就是安装phantomjs-prebuilt的2.1.14版本。读者可以自行测试。

    运行elasticsearch-head:

     

    使用elasticsearch-head:(说明:这里我连接是由3台ES节点组成的ES集群,且ES启用了x-pack,也就是需要用户名和密码访问)

    这里其实无法连接到elasticsearch, 还需要解决跨域问题: 

    2.3,配置跨域访问:
    由于前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置,如下:
    vim elasticsearch.yml
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.cors.allow-credentials: true
    http.cors.allow-headers: Content-Type,Accept,Authorization,x-requested-with
    #http.cors.allow-headers: "*"
    配置完,后重启服务端程序。
    cd bin 
    ./elasticsearch 或 ./elasticsearch -d #后台启动

    错误处理1:Access to XMLHttpRequest at xxx has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.

    同源策略禁止读取位于 http://localhost:9200/_cluster/health 的远程资源。解决方法:在elasticsearch.yml中增配置内容如下: 
    http.cors.allow-headers: Content-Type,Accept,Authorization, x-requested-with 

    或者http.cors.allow-headers: "*"

    错误2:vendor.js: GET https://:9200/ 401 (Unauthorized)。ES启用了X-pack,但是在elasticsearch-head 连接时提示401无权限访问。


    解决方法1(不推荐):修改ES配置文件,关闭x-pack功能,在elasticsearch.yml文件,添加如下一行内容:xpack.security.enabled: false

    解决方法2:从head-master端解决。

    2.4,配置head master 到 elasticsearch的加密访问。

    如何从head-master这边解决是作者花了两天时间都没有办法解决的问题,感谢万能的网络,最后找到了解决办法。思路就是带密码访问加密的ES。在输入elasticsearch-head访问地址时输入auth_user和auth_password两个变量值,如下图所示:

    http://192.168.88.5:9100/?base_uri=https://192.168.88.5:9200&auth_user=elastic&auth_password=123456

    三,其他技巧

    3.1,设置master head需要用户名和密码登录。保障elasticsearch-head的访问安全。

    参考:elasticsearch-head设置登录用户和密码_wangan094的博客-CSDN博客_es head 设置密码将elasticsearch-head-master/index.html路径下的index.html文件替换为如下代码,userName和userPassword自定义 elasticsearch-head&...</span><span class="link-link"><img alt="" class="link-link-icon" src="https://1000bd.com/contentImg/2022/06/15/120056086.x-icon">https://blog.csdn.net/DH2442897094/article/details/105200039</span></span></a></p> <p></p> <p></p> </div> </div> </li> <li class="list-group-item ul-li"> <b>相关阅读:</b><br> <nobr> <a href="/Article/Index/900460">使用Jmeter轻松实现AES加密测试</a> <br /> <a href="/Article/Index/1424217">人体姿态估计和手部姿态估计任务中神经网络的选择</a> <br /> <a href="/Article/Index/1434778">C语言每日一题(24)回文素数题解</a> <br /> <a href="/Article/Index/947761">C语言之读/写(fread/fwrite)文件(五十八)</a> <br /> <a href="/Article/Index/635866">c++ 阅读笔记</a> <br /> <a href="/Article/Index/1251066">【UML】软件工程中常用图:类图、部署图、时序图、状态图</a> <br /> <a href="/Article/Index/744768">二分查找一个数首次与最后出现的位置</a> <br /> <a href="/Article/Index/1344066">三一充填泵:煤矿矸石无害化充填,煤炭绿色高效开采的破局利器</a> <br /> <a href="/Article/Index/1495664">xxl-job架构原理讲解</a> <br /> <a href="/Article/Index/853157">Swift Enum底层探究</a> <br /> </nobr> </li> <li class="list-group-item from-a mb-2"> 原文地址:https://blog.csdn.net/yangkei/article/details/126708031 </li> </ul> </div> <div class="col-lg-4 col-sm-12"> <ul class="list-group" style="word-break:break-all;"> <li class="list-group-item ul-li-bg" aria-current="true"> 最新文章 </li> <li class="list-group-item ul-li"> <nobr> <a href="/Article/Index/1906469">【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?</a> <br /> <a href="/Article/Index/1907193">用 Hashids 优雅解决 C 端自增 ID 暴露问题</a> <br /> <a href="/Article/Index/1907195">V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容</a> <br /> <a href="/Article/Index/1907196">LLVM Pass快速入门(四):代码插桩</a> <br /> <a href="/Article/Index/1907197">milkup:桌面端 markdown AI续写和即时渲染</a> <br /> <a href="/Article/Index/1907198">基于项目工程构建SBOM(软件物料清单)的研究</a> <br /> <a href="/Article/Index/1907199">鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操</a> <br /> <a href="/Article/Index/1907200">.NET 中如何快速实现 List 集合去重?</a> <br /> <a href="/Article/Index/1907201">扣子Coze实战:从0到1打造抖音+小红书热点监控智能体</a> <br /> <a href="/Article/Index/1907202">浅谈数据访问层</a> <br /> </nobr> </li> </ul> <ul class="list-group pt-2" style="word-break:break-all;"> <li class="list-group-item ul-li-bg" aria-current="true"> 热门文章 </li> <li class="list-group-item ul-li"> <nobr> <a href="/Article/Index/888177">十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!</a> <br /> <a href="/Article/Index/797680">奉劝各位学弟学妹们,该打造你的技术影响力了!</a> <br /> <a href="/Article/Index/888183">五年了,我在 CSDN 的两个一百万。</a> <br /> <a href="/Article/Index/888179">Java俄罗斯方块,老程序员花了一个周末,连接中学年代!</a> <br /> <a href="/Article/Index/797730">面试官都震惊,你这网络基础可以啊!</a> <br /> <a href="/Article/Index/797725">你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法</a> <br /> <a href="/Article/Index/797702">心情不好的时候,用 Python 画棵樱花树送给自己吧</a> <br /> <a href="/Article/Index/797709">通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!</a> <br /> <a href="/Article/Index/797716">13 万字 C 语言从入门到精通保姆级教程2021 年版</a> <br /> <a href="/Article/Index/888192">10行代码集2000张美女图,Python爬虫120例,再上征途</a> <br /> </nobr> </li> </ul> </div> </div> </div> <!-- 主体 --> <!--body结束--> <!--这里是footer模板--> <!--footer--> <nav class="navbar navbar-inverse navbar-fixed-bottom"> <div class="container"> <div class="row"> <div class="col-md-12 text-center"> <div style="padding:0px 5px;"> <a href="/tools">小工具</a> <a href="https://games.1000bd.com">小游戏</a> </div> <div class="text-muted center foot-height"> Copyright © 2022 侵权请联系<a href="mailto:2656653265@qq.com">2656653265@qq.com</a>    <a href="https://beian.miit.gov.cn/" target="_blank">京ICP备2022015340号-1</a> </div> <div style=" padding:5px 0;"> <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010502049817" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"> <img src="" style="float:left;" /><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">京公网安备 11010502049817号</p></a> </div> </div> </div> </div> </nav> <!--footer--> <!--footer模板结束--> <script src="/js/plugins/jquery/jquery.js"></script> <script src="/js/bootstrap.min.js"></script> <!--这里是scripts模板--> <!--scripts模板结束--> </body> </html>