没有集群的 Hadoop MapReduce - 这可能吗?

Hadoop MapReduce without cluster - is it possible?

是否可以 运行 没有集群的 Hadoop MapReduce 程序?我的意思是,出于教育目的,我只是想 fiddle 和 map/reduce 稍微有点关系,所以我只想在我的计算机上 运行 一些 MapReduce 程序,我不需要任何工作拆分到多个节点等...不需要任何性能提升或任何东西,正如我所说,仅用于教育目的。我是否还需要 运行 VM 来实现此目的?我正在使用 IntelliJ Ultimate,我正在尝试 运行 简单的 WordCount。我相信我已经设置了所有必要的库和整个项目,并且在 运行ning 时我得到了这个异常:

Exception in thread "main" java.io.IOException: Cannot initialize Cluster.
Please check your configuration for mapreduce.framework.name and the correspond server addresses.

我发现一些帖子说整个 map/reduce 过程可以在 jvm 本地 运行,但还没有找到如何做的方法。

"pseudo-distributed"模式的全程安装教程,专门带你完成单节点Hadoop集群的安装

还有 the "Mini cluster" 您会发现一些用于单元和集成测试的 Hadoop 项目

我觉得你只是在问你是否需要 HDFS 或 YARN,答案是否定的,Hadoop 可以从磁盘读取 file:// 前缀文件路径,有或没有集群

请记住,拆分不仅在节点之间,而且在单台计算机的多个核心之间。如果您不进行任何并行处理,那么除了学习 API 语义外,没有太多理由使用 Hadoop。

旁白:从 "educational perspective" 来看,在我迄今为止的职业生涯中,我发现写 Spark 的人比写 MapReduce 的人多,而且专门要求 MapReduce 代码的工作并不多