我想从hadoop读取数据,在spark上处理,并在hadoop和elasticsearch上写入结果。我几乎没有工作节点来执行此操作。
Spark 独立集群就足够了吗?或者我需要创建hadoop集群来使用yarn或mesos吗?
如果独立集群模式足够了,是否应该像yarn、mesos模式那样在所有节点上设置jar文件?
最佳答案
首先,你不能在Hadoop中写入数据,也不能从Hadoop中读取数据。 HDFS(Hadoop生态系统的组件)负责数据的读/写。 现在回答你的问题
是的,可以从HDFS读取数据并在spark引擎中处理它,然后将输出写入HDFS。
YARN、mesos 和 Spark Standalone 都是集群管理器,您可以使用它们中的任何一个来管理集群中的资源,与 hadoop 无关。但是,由于您想要从 HDFS 读取数据或向 HDFS 写入数据,那么您需要在集群上安装 HDFS,因此最好在所有节点上安装 hadoop,这样也会在所有节点上安装 HDFS。现在,无论您想使用 YARN、mesos 还是 Spark Standalone(您可以选择),所有这些都可以与 HDFS 配合使用,我自己使用 Spark Standalone 进行集群管理。
目前尚不清楚您正在谈论哪些 jar 文件,但我假设它将是 Spark 的,那么是的,您需要在每个节点上设置 Spark jar 的路径,以便在路径中不会出现矛盾 Spark 跑的。
关于hadoop - Spark 集群 - 在 hadoop 上读/写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42357527/