如何为报告平台选择纱线集群或纱线客户端?

时间:2015-11-19 09:27:11

标签: hadoop apache-spark yarn

我打算做的是使用现有数据开发报告平台。我有一个现有的RDBMS,它有大量的记录。所以我正在使用。 (Hadoop 2.7, Spark, Hive, JasperReports, Scoop - Architecuture

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

鉴于我已阅读以下内容

我应该使用哪种模式?为什么?决定是基于什么?

2 个答案:

答案 0 :(得分:1)

决定是否要让您的应用程序作为YARN应用程序运行。

非YARN应用程序(您在yarn-client模式下获得)更简单。它是一个经典的Linux应用程序,您可以像任何应用程序一样启动它,它可以像任何应用程序一样在该机器上运行。

YARN应用程序(您在yarn-cluster模式下获得)由YARN管理。它可以在YARN决定使用的任何机器上运行。如果它死了,YARN会重新启动它,也许是在另一台机器上。它更健壮(例如,如果机器死机它将重新启动),但代价是复杂性(例如,您没有固定的应用程序IP地址)。

我最初会选择yarn-client。如果您发现需要它提供的功能,可以稍后切换到yarn-cluster

答案 1 :(得分:1)

向Danier Darabos添加更多信息回答: 除了托管应用程序/故障转移和驱动程序运行的地方(纱线群集模式下的Application Master或纱线客户端模式下的客户端 ,其他功能保持不变。但纱线客户端模式支持spark-shell,与纱线群集模式不同。

enter image description here

看看这个article,了解在各种模式下运行Spark应用程序之间的区别 - YARN Cluster,YARN Client& Spark Stand alone模式

在考虑所有选项中的标准后,做出计算出的决定。