是否可以在没有集群的情况下运行 Hadoop MapReduce 程序?我的意思是,出于教育目的,我只是想稍微摆弄一下 map/reduce,所以我只想在我的计算机上运行几个 MapReduce 程序,我不需要将任何工作拆分到多个节点等...不需要任何性能提升或任何东西,正如我所说,仅用于教育目的。我是否仍需要运行 VM 来实现此目的?我正在使用 IntelliJ Ultimate,我正在尝试运行简单的 WordCount。我相信我已经设置了所有必要的库和整个项目,并且在运行时我得到了这个异常:
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 上,但还没有找到方法。
最佳答案
“伪分布式”模式的整个安装教程专门带你完成单节点Hadoop集群的安装
还有 the "Mini cluster"你会发现一些 Hadoop 项目用于单元和集成测试
不过,我觉得您只是在问是否需要 HDFS 或 YARN,而答案是否定的,Hadoop 可以从磁盘读取带有或不带前缀的 file://
文件路径集群
请记住,拆分不仅发生在节点之间,还发生在单台计算机的多个核心之间。如果您不进行任何并行处理,那么除了学习 API 语义外没有太多理由使用 Hadoop。
旁白:从“教育的角度”来看,在我迄今为止的职业生涯中,我发现编写 Spark 的人多于编写 MapReduce 的人,并且没有多少工作专门要求编写 MapReduce 代码
关于java - 没有集群的 Hadoop MapReduce - 这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49626625/