Hunk 是 Splunk 公司一款比较新的产品,用来对 Hadoop 和其它 NoSQL 数据存储进行探测和可视化,它的新版本将会支持亚马逊的 Elastic MapReduce 。
结合 Hadoop 使用 Hunk
Hadoop 由两个单元组成,首先是被称为 HDFS 的存储单元,HDFS 可以分布在成千上万个复制的节点上。接下来是 MapReduce 单元,它负责跟踪和管理被命名为 map-reduce jobs 的作业。
之前,开发者会用到 Splunk Hadoop Connect (SHC) 连接器。SHC 通过常用的推模型(push model)来输出数据到 Hadoop 中,这块处理相当地好,但相反方向的处理却可能会有问题。当通过 Splunk 来探测数据时,原始的数据会被吸收到 Splunk Server 来检索和处理。就像人们猜想的那样,这个过程并没有发挥出 Hadoop 计算能力的优势。
Hunk 通过提供与 Hadoop MapReduce 节点协同工作的适配器来解决这个问题。Splunk 的查询被转化成 Hadoop MapReduce 的作业,这些作业在 Hadoop 集群中处理,最终只有结果被取回到 Splunk 服务器中进行分析和可视化。
通过这种方式,Hunk 提供了抽象层,以便用户和开发者不需要关心怎么去写 Hadoop MapReduce 的作业。Hunk 还能在 MapReduce 作业启动前就提供结果预览,以减少无用搜索的数量。
结合 Elastic MapReduce 使用 Hunk
亚马逊的 Elastic MapReduce 可以看做是对 Hadoop 的补充,同时也是 Hadoop 的竞争者。EMR 既可以运行在 Hadoop HDFS 集群上,也可以直接运行在 AWS S3 上。亚马逊宣称使用 AWS S3 的优势在于比 HDFS 集群更易于管理。
当运行 Elastic MapReduce 时,Hunk 提供了相同的抽象层和预览功能,就像它在 Hadoop 上做的一样。所以从用户的观点来看,在 Hadoop 和 EMR 之间切换不会造成什么变化。
云上的 Hunk
在云上托管 Hunk 的传统方法是买一个标准版的许可证,然后部署到虚拟机中,这和你现场安装一样简单。接下来是对 Hunk 的运行实例进行手动配置以让它对应到正确的 Hadoop 或 AWS 集群上。
这个月的新版本里,Hunk 的运行实例可以在 AWS 上进行自动化配置,这包括自动发现 EMR 数据源,这样 Hunk 实例可以在几分钟内上线使用。为了充分利用这个优势,Hunk 运行实例是按小时来计费。
虚索引(Virtual Indexes)
Hunk 中的有个关键概念是“虚索引(Virtual Indexes)”。这些索引已不同原本的意义,变成只是由 Hunk 来体现 Hadoop 和 EMR 集群处理的一种方式。从 Splunk 的用户界面上看,它们像是真正的索引,即使其数据处理是在 map-reduce 作业中完成的。并且,由于看起来像索引,你可以在它们之上创建持久的二级索引(persistent secondary indexes)。当你要处理部分数据,然后进一步检查或在多个方面可视化时,这个持久的二级索引会非常有用。
查看英文原文: Big Data Analytics: Using Hunk with Hadoop and Elastic MapReduce
感谢杨赛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论