Ide Hadoop开发环境,您的环境是什么样的?

Ide Hadoop开发环境,您的环境是什么样的?,ide,hadoop,Ide,Hadoop,我想知道您的Hadoop开发环境是什么样子的? 您是将JAR部署到测试集群,还是在本地模式下运行JAR? 您使用什么IDE和什么插件? 如何部署要在服务器上运行的已完成项目? 关于设置我自己的Hadoop开发/测试环境,您还有什么其他建议吗?在Eclipse或IJ等IDE中编写java MR jobs是非常常见的。有些甚至使用诸如Karamasphere的开发工具之类的插件,这些插件非常方便。至于测试,正常的过程是像通常一样对业务逻辑进行单元测试。您可以使用MRUnit类对一些MR周围的基础设施

我想知道您的Hadoop开发环境是什么样子的?
您是将JAR部署到测试集群,还是在本地模式下运行JAR?
您使用什么IDE和什么插件?
如何部署要在服务器上运行的已完成项目?
关于设置我自己的Hadoop开发/测试环境,您还有什么其他建议吗?

在Eclipse或IJ等IDE中编写java MR jobs是非常常见的。有些甚至使用诸如Karamasphere的开发工具之类的插件,这些插件非常方便。至于测试,正常的过程是像通常一样对业务逻辑进行单元测试。您可以使用MRUnit类对一些MR周围的基础设施进行单元测试(请参阅Hadoop的contrib)。下一步通常是在本地job runner中进行测试,但请注意这里有一些警告:分布式缓存在本地模式下不工作,并且您是单线程的(因此静态变量可以以生产环境中无法访问的方式进行访问)。下一步(也是最常见的测试环境)是伪分布式模式——所有守护进程都在运行,但都在一个盒子上。这将在具有多个并行任务的不同JVM中运行代码,并将揭示大多数开发人员错误

MR job jar以不同的方式分发到客户机。这里通常可以看到自定义部署过程。有些人使用Capistrano之类的工具或Chef或Puppet之类的配置管理工具来实现自动化

我的个人开发通常是在Eclipse中与Maven一起完成的。我使用Maven的汇编插件构建jar(将所有依赖项打包在一个jar中以便于部署,但jar更胖)。我定期使用MRUnit和伪分布式模式进行测试。根据我的经验,当地的求职者不是很有用。部署几乎总是通过配置管理系统进行的。测试可以通过Hudson这样的CI服务器实现自动化


希望这有帮助。

请将投票问题标记为“社区维基”。