32-天亮大数据系列教程之ElasticSearch6系列最新版教程之head插件安装

目录
1、es插件介绍
2、插件安装方式介绍
3、es之head安装与使用介绍

详情
1、es插件介绍

  • es插件是什么
    • 是围绕着es这个核心产品,衍生出来的各个方向的补充和优化项目。
      • 主要是让es更强大、更易用、更易于解决项目开发当中的实际问题,提高开发效率。
    • es常用插件有哪些
      • 集群监控类插件
        • es-head : 通过web界面操作集群的es客户端工具,实现了查看、编辑、删除等功能,极大提高了es的开发效率、易用性。
        • es-bigdesk : 通过web界面,监控es集群及各机器节点的硬件状态、系统负载等状态信息,方便系统运维及硬件优化。
      • 分词类插件
        • Smart Chinese Analysis Plugin:自带lucene分词插件,使用者几乎没有。
        • IK分词插件:使用度比较广,是最早与Lucene结合的中文插件,但后来使用量逐年有下降趋势。
        • MMseg分词插件:使用度较广,较受欢迎。
        • Ansj分词插件:使用较广,更新比较快,对全系es和lucene支持较好,深受java开发者喜爱。
        • 俄文、法文分词、日文分词等
      • 数据同步类插件(用于数据迁移和数据互联互通)
        • JDBC River Plugin:通过jdbc的方式,将各种关系型数据库数据同步至es中。
        • CSV River Plugin: 通过指定一个csv格式的数据目录,同步其数据至es中。
        • Solr River Plugin: 通过指定solr地址和数据访问路径,同步solr索引数据至es中。 * ES-Hadoop Plugin: 利用hadoop MR的分布式计算特性,并行同步、建索引等操作,为hdfs数据提供实时化、实时搜索的能力。
        • MongoDb River Plugin: 通过定期读取其oplog,实现同步mongo数据至es中。
        • RabbitMQ River Plugin:将RabbitMQ数据同步mongo数据至es中。
        • ActiveMQ River Plugin:将ActiveMQ数据同步mongo数据至es中。
        • 还有很多很多。。。
      • 数据传输类插件
        • Thrift Transport Plugin : 面向Thrift编程发送数据到es端
        • Memcached Transport Plugin:面向memcached通信协议编程发送数据到es端
        • Jetty Http Transport Plugin:面向Jetty API编程发送数据到es端
        • ZeroMQ Transport Plugin: 面向ZeroMQ编程发送数据到es端
    • 第三方脚本类插件
      • python plugin :直接python代码操作es
      • js plugin:直接js代码操作es
      • groovy plugin:直接groovy代码操作es
      • clojure plugin:直接clojure代码操作es
    • 还有很多相对小众的插件

2、插件安装方式介绍

  • 命令行plugin安装方式
    • 直接使用es安装包自带的es_home/bin/plugin install 插件名称
      • 该方式在5.0版本之前非常盛行,5.0及以后被弱化一些,更加强调可独立安装的,均要独立安装,不提供plugin安装方式。比如head插件。
    • 独立服务运行方式
      • 安装完全独立的服务,通过参数设置后,与es集群间进行通信
        • 系统独立安装
        • docker虚拟化安装方式
    • Chrome浏览器插件方式
      • 针对独立服务运行模式的web类系统站点,开发了更加方便的chrome插件方式来使用,更简单方便,但有限于网络限制,国内使用者不是很多。
    • 还有一些比较小众的安装方式

3、es之head安装与使用介绍

  • 安装方式说明
    • es5.0之前是命令行plugin安装方式,简单快捷。
      • es5.0及之后均采用独立服务运行的方式,不能采用plugin方式,主要是出于扩展性、运维性、独立性考虑。
    • 安装依赖说明
      • nodeJS
        • 一句话表述为:运行在服务器端的javascript引擎,方便、快捷、高效运行js代码。
        • 一个基于 Chrome V8 引擎的 JavaScript 运行环境。
        • 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
        • 其包管理器 npm,是全球最大的开源库生态系统。
      • Grunt
        • 基于nodeJS的自动化的项目构建工具。
        • 前端开发工作中的像压缩、编译、单元测试、代码检查以及打包发布的任务,通过grunt都可以自动完成,类比于java中的maven。
    • 安装步骤说明
      • 1、安装npm
      • 2、安装grunt
      • 3、git下载es-head源码
      • 4、修改es自身配置参数
      • 5、修改es-head源码配置参数
      • 6、npm安装es-head
      • 7、运行es-head
      • 8、测试使用
    • 安装步骤详情
      • 1、安装npm
        • 下载npm之windows软件安装包(从天亮教育官方云盘下载)

这里写图片描述

  • windows傻瓜式双击安装node即可

    • 检查安装正确性

      • 进入cmd命令行后,输入node -v命令,获取到相关版本即为正确
      • 并代表npm已加入到windows path中,在windows各个路径下均可以使用npm命令
        这里写图片描述
    • 2、安装grunt

      • 直接基于nodeJS的包管理工具npm安装即可
      • 安装grunt-cli项目构建管理工具
        • 进入windows cmd后,执行npm install -g grunt-cli,-g代表全局安装。
        • 安装路径为C:\Users\自己电脑主机名称\AppData\Roaming\npm,并且自动加入PATH变量。
      • 检验安装正确性
        这里写图片描述
    • 3、git下载es-head源码

      • 安装windows git bit
        • 下载windows git bit
          这里写图片描述
    • windows傻瓜式安装git bit即可

    • 安装完成后检查正确性

      • 有以下两项即为正确
        这里写图片描述
    • 安装windows git下载es-head源码

      • 右击想要将es-head要下载到的位置,默认选择es_home同目录下
        这里写图片描述
  • 会出现git windows操作命令行
    这里写图片描述

    • 执行git clone命令即可
      • head的github地址为:git://github.com/mobz/elasticsearch-head.git
        这里写图片描述
  • 在同目录下,新增elasticsearch-head目录
    这里写图片描述

    * 4、修改es自身配置参数
    
    • 找到es的主要配置文件之一:es_home/config/elasticsearch.yml
      • yml配置文件说明
        • 方便人类读写、通用的数据串行化格式
      • 是比properties文件更有语义化、更灵活、更高级的配置参数文件,
        有很多主流的开源软件的配置文件格式,再用yml或是再往yml迁移。
    • 大小写敏感
    • 使用缩进代表层次结构
    • 缩进不允许使用tab,只允许使用空格
    • 缩进空格数量不做严格要求,但要保持同一层左侧对齐。
    • KV配置项中,如:K1: V1中,V1部分一定要在”:”后有一个空格
    • 示例格式:
      • 配置项格式为:kv结构,如:username: tianliangedu
      • 可以进行层次语义化定义,如:
        database_source_config:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/test
        username: root
        password: root
    • 修改项

      • 为集群起个名字
        • cluster.name: tianliangedu_es_cluster
          这里写图片描述
    • 给当前es节点机器起个名字

      • node.name: windows_zel
    • 修改es的对外数据服务监控IP地址

      • 默认是在127.0.0.1上,外部机器无法链接,换成0.0.0.0时,则内外部机器均可以通过localhost、127.0.0.1或是192.*等内网地址访问
    • 修改es对外数据服务的监控端口配置

      • 默认是9200,如果是默认不配且9200被占用,则会逐个+1去试探并最终占用一个最近空闲的。
    • 新增参数解决前端js请求es时候的跨域请求问题
      *新增参数
                         //允许跨域请求
                                                http.cors.enabled: true    
                                                //允许哪些IP地址来发起请求,*代表不做限制
                                                http.cors.allow-origin: "*"

这里写图片描述

  • 5、修改es-head源码配置参数

  • 修改项

    • head前端跨域参数修改
      • 修改head_home/Gruntfile.js文件,如下图所示:
        这里写图片描述
  • 修改head_home/_site/app.js,指向正确的es的数据服务地址
    这里写图片描述

    • 6、npm安装es-head

      • 进入head_home目录中,执行npm install,即为安装es-head
      • 初次运行报错,多数是网络或是软件bug问题,可重试之
        这里写图片描述
    • 7、运行es-head

      • 进入head_home目录中,运行grunt server,正式开启es-head独立web服务进程
        这里写图片描述
    • 8、测试使用

    • 使用介绍

    • 概览页介绍
      这里写图片描述


天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以”快乐工作,认真生活,打造高端职业技能教育的一面旗帜”为愿景,胸怀”让天下没有难找的工作”使命,
坚持”客户第一、诚信、激情、拥抱变化”的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。

更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
这里写图片描述
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://bbs.myhope365.com/forum.php?mod=viewthread&tid=1422&extra=page%3D1

欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
这里写图片描述

天亮教育官方群318971238,
爬虫、nlp技术qq群320349384
hadoop & spark & hive技术群297585251,
官网:http://myhope365.com
官方天亮论坛:http://bbs.myhope365.com/

猜你喜欢

转载自blog.csdn.net/erliang20088/article/details/81627522