我们正在尝试将Elasticsearch应用到我们的大数据环境中。目前我们运行的是Apache Hadoop 2.7,包括Hive和Spark。在Hadoop中以Parquest格式存储数据。
当我们在我们的环境中实施ELK时,我们只能将数据存储到Hadoop HDFS中吗?或者,我们必须从Hadoop中提取数据并导入到Elasticsearch中,以便创建索引,但我们在系统中有重复的数据集(Hadoop HDFS和ElasticSearch)
谢谢。
发布于 2020-06-14 18:39:54
如果这篇文章太长了,很抱歉,但我希望这能有所帮助!
什么是Elasticsearch?
Elasticsearch是一个搜索引擎。句号。搜索解决方案。更确切地说,是一种数据库或数据存储,它可以帮助您以某种方式组织您的数据,从而帮助您执行数据发现或为您的组织构建搜索应用程序等活动。
尽管您也可以执行许多分析查询并围绕它构建分析解决方案,但仍有一定的限制。
Elasticsearch的性质和其中使用的数据结构是如此不同,以至于您需要将数据(摄取)推入其中,以便执行所有搜索/数据发现/分析活动。它有自己的文件系统和数据结构,专门管理/存储数据,以便进行有效的搜索。
所以会有重复的数据。
Elasticsearch不是什么?
它不会被用作分析解决方案,尽管它确实附带了许多聚合查询,但它并不像Apache Spark这样的处理引擎或Denodo或Presto这样的数据虚拟化工具那样具有表现力。
它不是像HDFS或S3那样的存储解决方案,它被用作组织的数据湖。
它不能用作事务性数据库,而要替换为RDBMS解决方案。
大多数时候,许多组织将来自各种不同来源的数据摄取到ES中,如联机分析处理、关系型数据库、NoSQL数据库、内容管理系统、消息队列,以便能够更有效地搜索数据。
在某种程度上,在大多数情况下,ES从来都不是主要的数据源。
组织如何使用它?
searchable.因此ES的两个最常见用法是searching和logging and monitoring activities。基本上是实时活动。
它与Hadoop有什么不同?
。这使得Hadoop与S3和其他用于数据湖或数据归档存储工具的文件系统一起成为默认的行业标准。
用于搜索的Hadoop
您可能需要运行Map-Reduce或Spark Jobs并编写大量的模式匹配算法来查找包含要搜索的关键字的文档或文件夹。每一次搜索都会得到一个这样的工作。这是不现实的。
即使你以这样一种方式对它们进行转换和组织,以便利用Hive,它仍然不会像Elasticsearch那样有效地处理文本。
Here is a link,可以帮助你理解Elasticsearch中使用的核心数据结构,以及为什么文本搜索更快/更不同/更有效。
我们如何使用Hadoop和Elasticsearch?
也许this link中提到的下图可能会有用。

基本上,您可以设置摄取管道,处理来自Hadoop的原始数据,转换并因此在Elasticsearch中对它们进行索引,以便您可以利用其搜索功能。
看一看this link,了解如何在Elasticsearch中使用Spark,并在它们之间实现双向通信。
希望这能有所帮助!
https://stackoverflow.com/questions/62369868
复制相似问题