购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章 概述

“Elasticsearch is a flexible and powerful open source, distributed, real-time search and analytics engine. Elasticsearch gives you the ability to move easily beyond simple full-text search.

Logstash helps you take logs and other time based event data from any system and store it in a single place for additional transformation and processing. Logstash will scrub your logs and parse all data sources into an easy to read JSON format.

Kibana is Elasticsearch's data visualization engine, allowing you to natively interact with all your data in Elasticsearch via custom dashboards.” _____http://www.elasticsearch.org/overview/

随着大数据、大型综合网站以及Web 2.0技术的普及,越来越多的软件开发者需处理海量异构信息的索引、检索、日志挖掘、可视化等和信息检索与大数据挖掘相关的业务。虽然Lucene是许多互联网公司的标准信息检索工具,但它无法在一个合理的时间内存储和检索海量的大数据,不具备良好的可扩展性,一般也不适合分布式大数据搜索、挖掘和云计算环境。而在DB-Engines公布的2015年5月份最受欢迎的数据库系统(含NoSQL数据库)中,Elasticsearch名列前茅 [5]

作为开源分布式搜索与数据处理平台,Elasticsearch不仅仅是一个数据库,它还是一个基于Lucene构建的开源、分布式、RESTful信息检索框架,能够实时搜索,并且稳定、可靠,使用方便,支持通过HTTP使用JSON进行数据索引。基于ELK(注:本书中的ELK是指Elasticsearch+Logstash+Kibana,后文同)的架构为编程人员提供了一个分布式的可扩展的信息存储和基于Lucene的信息检索机制、基于Logstash的日志处理机制、基于Kibana的挖掘结果可视化的机制。在一个典型的使用场景,一般用Elasticsearch作为后台数据的分布式存储和全文检索,Kibana用来前端的可视化展示,Logstash在其过程中担任相关日志加工和“搬运工”的角色。ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管道链。三者互相配合,取长补短,共同完成分布式大数据处理工作。

首先,Elasticsearch是一个开源的分布式信息检索框架,具备高可靠性,它提供多种管理工具,各种相关插件也可方便地集成到Elasticsearch中。它对外提供一系列基于Java和HTTP的API,可用于分布式索引、检索、日志分析与数据挖掘等,且大多数配置是可以修改的。因此,很多国际知名企业都在使用Elasticsearch完成分布式数据处理工作。例如,Github已升级了其代码搜索程序,并将核心架构由Solr转向Elasticsearch;Wikimedia也启用了由Elasticsearch为基础的全新搜索框架。

其次,Logstash可以对相关的网络日志进行收集、分析、转换等处理工作,并将其存储在Elasticsearch供以后使用。其实,Logstash本身并不产生日志,它仅仅是一个可接收多种多样的日志输入、经处理后转发到多个不同目的地的“管道”。最后,Kibana可以帮助可视化数据日志,并提供友好的可视化界面。

学习ELK,对于大数据处理、信息检索及搜索引擎研发、日志处理与分析、挖掘信息可视化等,对于设计高效的大型商业网站,都具有重要的现实意义。本书主要介绍Elasticsearch分布式信息存储与检索解决方案,并结合Logstash、Kibana,介绍面向大数据搜索与挖掘的处理方法。作为全书的“引子”,本章介绍Elasticsearch的背景和简单使用,并通过一个例子介绍Elasticsearch的索引、检索流程和实现方法。有关Logstash和Kibana的相关内容,在本书后续章节中进行介绍。 bCff0G73waQqOMAR6i8y8Jg6EFjeO7TQuY+eRtRwI1Y3SoUDJE/YEy5TsPR2n95y

点击中间区域
呼出菜单
上一章
目录
下一章
×