Hadoop 2.7、Spark、Hive、JasperReports、Sqoop - 架构

Hadoop 2.7, Spark, Hive, JasperReports, Scoop - Architecuture

首先,这不是一个寻求帮助逐步部署以下组件的问题。我要问的是关于应该如何设计架构的建议。我打算做的是使用现有数据开发一个报告平台。以下是我通过研究收集到的数据。

我有一个包含大量记录的现有 RDBMS。所以我正在使用

我所知道的是部署一个Hadoop 2集群如下

我的问题是

请告诉我一个合适的架构设计方式?请提供详细的答案。

请注意,如果您能提供任何类似性质的技术指南或案例研究,那将非常有帮助。

你已经想通了!我所有的回答都只是一般性意见,可能会根据数据、要执行的操作风格而发生巨大变化。另外,问题暗示此类操作的数据和结果对任务至关重要,我是这么认为的。

Spark on Hive will speed up things

不一定正确。轶事证据,this post (by cloudera), proves the quite opposite. There is actually a move towards the vice-versa, i.e. Hive on Spark

In which node should I deploy Spark? A or B, Given that I want to support fail-over. That's why I have a separate namenode configured on B. Should I deploy Spark on each and every instances? Who are the worker nodes should be?

当然 - 在大多数情况下。设A或B为master,其余皆为worker节点。如果您不想在您的体系结构中出现 SPOF,请参阅 high availability section of spark documentation,需要一些额外的工作。

Is there a better alternative to Hive?

这个既是主观的又是针对特定任务的。如果 SQL 查询感觉很自然并且适合任务,还有 Cloudera 推广的 Impala,它声称执行速度和数量级比 Hive 快。但在 Apache Hadoop 生态系统中有点陌生。使用 Spark - 如果您可以很好地输入一些 python 或 scala - 您可以进行 SQL 之类的查询,同时仍然享受这些语言提供的表达能力。

How should I connect JasperReports? And to where? To Hive or Spark?

不知道这个。