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

标签 hadoop apache-spark hive jasper-reports hadoop2

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

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

  • Scoop - 将数据从 RDBMS 提取到 Hadoop
  • Hadoop - 存储平台
  • Hive - 数据仓库
  • Spark - 因为 Hive 更像是批处理 Hive 上的 Spark 会加快速度
  • JasperReports - 生成报告。

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

  • 192.168.X.A - 名称节点
  • 192.168.X.B - 第二个名称节点
  • 192.168.X.C - 从站 1
  • 192.168.X.D - 从站 2
  • 192.168.X.E - 从站 3

我的问题是

  • 我应该在哪个节点部署 Spark? A 或 B,鉴于我想支持故障转移。这就是为什么我在 B 上配置了一个单独的名称节点。
  • 我应该在每个实例上部署 Spark 吗?工作节点应该是谁?
  • 我应该在哪个节点部署 Hive?有没有比 Hive 更好的替代品?
  • 我应该如何连接 JasperReports?去哪里?要 Hive 还是 Spark?

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

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

最佳答案

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

Spark on Hive will speed up things

不一定正确。轶事证据,this post (by cloudera) , 证明恰恰相反。实际上有一个相反的方向,即 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 查询感觉很自然并且适合任务,还有 Impala由 Cloudera 推广,它声称性能和数量级比 Hive 快。但在 Apache Hadoop 生态系统中有点陌生。使用 Spark - 如果您擅长输入一些 python 或 scala - 您可以进行类似 SQL 的查询,同时仍然享受这些语言提供的表达能力。

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

不知道这个。

关于Hadoop 2.7、Spark、Hive、JasperReports、Sqoop - 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635234/

相关文章:

java - 如何从 EMR 中的 s3 读取文件?

scala - 找到 Spark 的 Scala 安装

java - 无法从Eclipse连接到Hive

hadoop - 减少步骤似乎停留在 99%

hadoop - 使用AWS Hadoop集群设置提交作业

hadoop - CqlInputFormat中的Hadoop Cassandra宽行

java - Spark-Java : How to change Timestamp format of columns in Dataset<Row>?

scala - 在 Spark 中写入和读取原始字节数组 - 使用序列文件 SequenceFile

hadoop - 输入没有标题的文本文件

mysql - 配置单元查询错误无效的表别名