目录
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
- 还有很多相对小众的插件
- 是围绕着es这个核心产品,衍生出来的各个方向的补充和优化项目。
2、插件安装方式介绍
- 命令行plugin安装方式
- 直接使用es安装包自带的es_home/bin/plugin install 插件名称
- 该方式在5.0版本之前非常盛行,5.0及以后被弱化一些,更加强调可独立安装的,均要独立安装,不提供plugin安装方式。比如head插件。
- 独立服务运行方式
- 安装完全独立的服务,通过参数设置后,与es集群间进行通信
- 系统独立安装
- docker虚拟化安装方式
- 安装完全独立的服务,通过参数设置后,与es集群间进行通信
- Chrome浏览器插件方式
- 针对独立服务运行模式的web类系统站点,开发了更加方便的chrome插件方式来使用,更简单方便,但有限于网络限制,国内使用者不是很多。
- 还有一些比较小众的安装方式
- 直接使用es安装包自带的es_home/bin/plugin install 插件名称
3、es之head安装与使用介绍
- 安装方式说明
- es5.0之前是命令行plugin安装方式,简单快捷。
- es5.0及之后均采用独立服务运行的方式,不能采用plugin方式,主要是出于扩展性、运维性、独立性考虑。
- 安装依赖说明
- nodeJS
- 一句话表述为:运行在服务器端的javascript引擎,方便、快捷、高效运行js代码。
- 一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
- 其包管理器 npm,是全球最大的开源库生态系统。
- Grunt
- 基于nodeJS的自动化的项目构建工具。
- 前端开发工作中的像压缩、编译、单元测试、代码检查以及打包发布的任务,通过grunt都可以自动完成,类比于java中的maven。
- nodeJS
- 安装步骤说明
- 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软件安装包(从天亮教育官方云盘下载)
- 1、安装npm
- es5.0之前是命令行plugin安装方式,简单快捷。
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 bit
windows傻瓜式安装git bit即可
安装完成后检查正确性
- 有以下两项即为正确
- 有以下两项即为正确
安装windows git下载es-head源码
- 右击想要将es-head要下载到的位置,默认选择es_home同目录下
- 右击想要将es-head要下载到的位置,默认选择es_home同目录下
会出现git windows操作命令行
- 执行git clone命令即可
- head的github地址为:git://github.com/mobz/elasticsearch-head.git
- head的github地址为:git://github.com/mobz/elasticsearch-head.git
- 执行git clone命令即可
在同目录下,新增elasticsearch-head目录
* 4、修改es自身配置参数
- 找到es的主要配置文件之一:es_home/config/elasticsearch.yml
- yml配置文件说明
- 方便人类读写、通用的数据串行化格式
- 是比properties文件更有语义化、更灵活、更高级的配置参数文件,
有很多主流的开源软件的配置文件格式,再用yml或是再往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
- 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时候的跨域请求问题
*新增参数
- 找到es的主要配置文件之一:es_home/config/elasticsearch.yml
//允许跨域请求
http.cors.enabled: true
//允许哪些IP地址来发起请求,*代表不做限制
http.cors.allow-origin: "*"
5、修改es-head源码配置参数
修改项
- head前端跨域参数修改
- 修改head_home/Gruntfile.js文件,如下图所示:
- 修改head_home/Gruntfile.js文件,如下图所示:
- head前端跨域参数修改
修改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服务进程
- 进入head_home目录中,运行grunt server,正式开启es-head独立web服务进程
8、测试使用
- 浏览器访问本地http://localhost:9100/即可看到如下web界面,代表正确完装
- 浏览器访问本地http://localhost:9100/即可看到如下web界面,代表正确完装
使用介绍
- 概览页介绍
天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批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/