先说一说ElasticSearch + Kibana + logstash的描述和安装方法

ElasticSearch是个啥玩意:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

这么官方的解释肯定是来自百度百科了,我发现了百度百科最喜欢的就是有话不好好说,简而言之,它是一种流行的企业级搜索引擎。

ElasticSearch能干啥?在什么场景下使用?

上述都说了它是一种流行的企业级搜索引擎,那肯定一般都是用于搜索、查询使用了。传统项目下,当系统数据已到达上亿级别,我们在做系统架构的时候避免不了就是大数据导致查询的效率低下,就算加了索引,一样会有些场景导致索引失效导致全表扫描,像sql中使用模糊查询like,而模糊查询的需求在现在来说是使用最多的,那再去使用传统的查询语句,查询速度让你怀疑人生。这时可能又有人站起来说了,我不服,我分库分表,读写分离,写缓存,一样可以提高查询速度,一样可以实现需求。这位同学你先坐下,你说的都对,现在确实也有很多公司是这么做的,没毛病,但是有更好的实现方案和技术,你不想try try嘛?

传统方案实现

当系统数据量达到了亿级别或者更多,我们在做系统架构时就要考虑到以下几个问题:

1)使用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…) 
2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ) 
3)如何保证数据安全性;(热备、冷备、异地多活) 
4)如何解决检索难题;(数据库代理中间件:mysql-proxy、Cobar、MaxScale等;) 
5)如何解决统计分析问题;(离线、近实时)

一个产品,用户能够接收从请求到返回数据,也就是打开页面到看到数据,最大忍耐时间<=1s,你如果一个项目,因为数据量特别大在查询一个信息时候,搞到5-8s,那你赶紧关服吧,不然也会被骂死。

Elasticsearch 和 传统关系型数据库的对比

来看一下两者的区别:

对比

ElasticSearch是一款分布式全文检索框架,底层基于Lucene实现。

ElasticSearch 使用 JSON 格式存储数据,属于文档存储

遍历方式上:

ES有分片的概念,一个大的索引会被分成多个分片来进行存储数据,使用分布式的架构对分片进行并行搜索(基于倒排)

传统数据库的遍历,属于正向全表扫描

数据存储结构:

ES采用倒排索引,传统数据库采用B+树索引

倒排索引:

对文本进行分词处理,记录单词,词频,文本id等信息,搜索时基于内容(根据单词和词频词向量等来计算评分)来找文本id

B+树索:

一种树的数据结构,存储时会根据内容生成一个数节点,搜索时时跟据节点id来查找内容数据结构,存储时会根据内容生成一个数节点,搜索时时跟据节点id来查找内容

特别注意:

1.ES没有事务的概念,不支持事务回滚,无法恢复删除的数据

2.在面对大数据量简单计算的时候es的效率原高于mysql等传统数据库,但是在定位某一个唯一值(如用会员id找会员)时并不需要es,但在大数据的相似计算与查找或简单计算时,es的分布式并行计算有绝对的优势

Elasticsearch + Kibana介绍

  • Elasticsearch 

    Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

    可扩展性:原型环境和生产环境可无缝切换;无论 Elasticsearch 是在一个节点上运行,还是在一个包含 300 节点的集群上运行,您都能够以相同的方式与 Elasticsearch 进行通信。

    速度:而且由于每个数据都被编入了索引,因此您再也不用因为某些数据没有索引而烦心。您可以用快到令人发指的速度使用和访问您的所有数据。

  • Kibana

    Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。

    可视化与探索:Kibana 让您能够自由地选择如何呈现您的数据。或许您一开始并不知道自己想要什么。不过借助 Kibana 的交互式可视化,您可以先从一个问题出发,看看能够从中发现些什么。

    多配件:Kibana 核心搭载了一批经典功能:柱状图、线状图、饼图、环形图,等等。它们充分利用了 Elasticsearch 的聚合功能。


好了。废话说了一大堆,从实战中找到真理吧。

先去官网下载所需要的包:https://www.elastic.co/cn/products/elasticsearch

公司限制https站点网络,本博主在下载的时候差点脑血栓爆发。。。。。苦不堪言。。。。

下载前认认真真的说一句,一定要下版本一样的包,否则会因为版本问题导致你想不到的错误,博主亲身体会。。

 

Elasticsearch + Kibana下载安装 

 

 

根据你的操作系统下相应的包,解压安装就可以了,切记 Elasticsearch + Kibana一定要下版本一样的包。。。。。

先启动Elasticsearch 再启动Kibana

elasticsearch-6.7.2解压完成,启动bin下elasticsearch.bat 就可以了,同样的操作启动Kibana,然后打开浏览器,输入地址,看到下图内容表示安装成功,so easy吧~

Kibana启动成功是这个样子

 浏览器输入:http://localhost:5601/app/kibana,kibana的管理页面

我们只需要这个   Dev Tools

 Logstash安装:

概念:是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。简而言之,就是把关系型数据库的数据通过logstash进行传输到ElasticSearch中,从而来进行数据同步。

 

 注意,logstash安装完毕暂时先不用启动,下一篇继续讲解,由于安装和使用篇幅过长,分两批来说,此篇只讲安装。

咱们下一篇见~~~~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值