首页 文章

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

提问于
浏览
0

首先,这不是一个问题,请求帮助逐步部署以下组件 . 我计划做的是使用现有数据开发报告平台 . 以下是我通过研究收集的数据 .

我有一个现有的RDBMS,它有大量的记录 . 所以我正在使用

  • Scoop - 将数据从RDBMS提取到Hadoop

  • Hadoop - 存储平台

  • Hive - Datawarehouse

  • Spark - 由于Hive更像是批处理,Hive上的Spark会加快速度

  • JasperReports - 生成报告 .

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

  • 192.168.X.A - Namenode

  • 192.168.X.B - 第二个Namenode

  • 192.168.X.C - Slave1

  • 192.168.X.D - Slave2

  • 192.168.X.E - Slave3

我的问题是

  • 我应该在哪个节点部署Spark? A或B,鉴于我想支持故障转移 . 这就是我在B上配置单独的namenode的原因 .

  • 我应该在每个实例上部署Spark吗?应该是谁的工作节点?

  • 我应该在哪个节点部署Hive?有没有比Hive更好的替代品?

  • 我应该如何连接JasperReports?到哪里去?到Hive还是Spark?

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

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

1 回答

  • 1

    你已经弄清楚了!我的所有答案都只是一般意见,可能会根据数据,要执行的操作的风格而大幅改变 . 还有问题意味着数据和这些操作的结果是关键任务,我假设如此 .

    Spark on Hive会加快速度

    不一定正确 . 轶事证据,this post (by cloudera),证明完全相反 . 实际上有一个反之亦然,即Hive on Spark .

    我应该在哪个节点部署Spark? A或B,鉴于我想支持故障转移 . 这就是我在B上配置单独的namenode的原因 . 我应该在每个实例上部署Spark吗?应该是谁的工作节点?

    绝对 - 在大多数情况下无论如何 . 将A或B设置为主节点,其余所有节点都可以是工作节点 . 如果您不想在架构中使用SPOF,请参阅high availability section of spark documentation,需要一些额外的工作 .

    Hive有更好的替代方案吗?

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

    我应该如何连接JasperReports?到哪里去?到Hive还是Spark?

    不知道这个 .

相关问题