logstash-input-jdbc学习
ES(elasticsearch缩写)的一大优点就是开源,插件众多。所以扩展起来非常的方便,这也造成了它的生态系统越来越强大。这种开源分享的思想真是与天朝格格不入啊。国内的开源社区做了也很长时间,可是也没出现什么拿的出手的东西,可能只还有阿里比较注重分享一些。
ES的查询速度非常快,搜索非常快。但是呢,我们的数据还是主要存在传统的关系型数据库中的。有没有什么办法可以将数据库中的数据实时同步到ES中呢。logstash就是这么一个东西。
Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。
安装好Logstash,再安装好logstash-input-jdbc插件,再安装好mysql-connector-java-6.0.6.jar插件就可以实时将mysql中的数据同步到ES中。安装过程参考:ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件。
logstash-input-jdbc可以配置实行增量同步还是实行全量同步,增量同步是基于时间还是基于某一个字段的变化值。可以参考:logstash-input-jdbc 同步原理及相关问题解读。非常方便。
中文分词插件
ES上有不少的中文分词插件,能够对存储的数据进行分词,以应对搜索的请求。使用比较广泛的是ik。它的github地址。上面有关于安装,使用的完整介绍。甚至可以使用对于搜索的内容采用不同的分词器,非常的方便。参考。
使用场景
何时使用elasticsearch呢?
- 将ES作为后端唯一的存储。优点是简化数据存储的逻辑结构,没有数据同步问题。这种方式比较激进。ES没有事务的机制,对于频繁的更新效率也不好。大型的项目不建议这样做。
- 搜索功能。这也是一个主要的作用。将网站的搜索部分单拿出来,用ES来实现。既提高了搜索的效率,又对原来的数据存储和逻辑机构没有影响。例如对于产品的搜索,站内搜索等。效率非常高。
使用elasticsearch和现有的工具相结合。由于ES是开源的,很多工具都可以与ES一起工作,你不必从来开始编码。假设要部署一个大规模的日志框架存储,搜索,并进行分析。处理日志和输出到Elasticsearch,可以用Rsyslog来建立日志,logstash传输日志到ES,搜索和可视化界面分析这些日志,可以使用Kibana。
总结
以上两篇日志,对于什么是ES,ES的安装,ES的应用场景,ES的相关插件有了一个大概的了解。以后如果工作中涉及到,对于是否选用,如何实施,就不会无所适从。
参考资料:
ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件
elasticsearch学习笔记——相关插件和使用场景的更多相关文章
-
ElasticSearch学习笔记(超详细)
文章目录 初识ElasticSearch 什么是ElasticSearch ElasticSearch特点 ElasticSearch用途 ElasticSearch底层实现 ElasticSearc ...
-
amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
-
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...
-
Elasticsearch学习笔记一
Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...
-
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
-
amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
-
Elasticsearch学习笔记三
PS:前面两章已经介绍了ES的基础及REST API,本文主要介绍ES常用的插件安装及使用. Elasticsearch-Head Head是一个用于管理Elasticsearch的web前端插件,该 ...
-
ElasticSearch学习笔记-02集群相关操作_cat参数
_cat参数允许你查看集群的一些相关信息,如集群是否健康,有哪些节点,以及索引的情况等的. 检测集群是否健康 curl localhost:9200/_cat/health?v 说明: curl 是一 ...
-
ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件
ElasticSearch的索引可以手动添加索引的,就是类似下面这样添加的 PUT /movies/movie/1 { "title": "The Godfather&q ...
随机推荐
-
循环冗余检验算法CRC
http://blog.csdn.net/liyuanbhu/article/details/7882789 首先要了解多项式乘法,除法 了解模2运算的含义,多项式除法后合并同类项时..系数%2处理 ...
-
IOS第八天(2:UITableViewController团购,点击底部,xib加载更多, 代理模式)
******* HMViewController.h #import "HMViewController.h" #import "HMTg.h" #import ...
-
C语言 串 顺序结构 实现
一个能够自动扩容的顺序结构的串 ArrString (GCC编译). /** * @brief C语言 串 顺序结构 实现 * @author wid * @date 2013-11-01 * * @ ...
-
winfrom获得鼠标的坐标
Point mouse = this.PointToScreen(Control.MousePosition);label1.Text = mouse.X.ToString() + ":&q ...
-
自主学习python文本进度条及π的计算
经过自己一段时间的学习,已经略有收获了!在整个过程的进行中,在我逐渐通过看书,看案例,做题积累了一些编程python的经验以后,我发现我渐渐爱上了python,爱上了编程! 接下来,当然是又一些有趣的 ...
-
mysql中的int和tinyint、varchar和char、DateTime和TimeStamp区别
一.int和tinyint的区别 大小: tinyint在mysql中占用1个字节 即: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方:11111111 = 256 在 ...
-
Eclipse ee项目 Java Resources文件报错解决方法
通常是JDK版本配置问题,这里使用的是JDK1.8版本 确保jre版本为本机配置的版本 打开Navigator目录的.settings文件夹修改org.eclipse.wst.common.compo ...
-
C#_反射机制
一:反射的定义 审查元数据并收集关于它的类型信息的能力.元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等. Sys ...
-
ps命令之排序
Linux中ps命令会自动选择一列进行排序,但有时这不是我们想要的. 方法一: ps+sort sort 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同:-b :忽略最前面 ...
-
大数据之ETL工具Kettle的--1功能介绍
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用. ...