Hadoop开发环境,你的看起来像什么?

wlk*_*wlk 2 ide hadoop

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

小智 7

看到人们在像Eclipse或IJ这样的IDE中编写java MR作业是非常常见的.有些甚至使用像Karamasphere的开发工具这样的插件很方便.至于测试,正常的过程是像往常一样对业务逻辑进行单元测试.您可以使用MRUnit类对一些MR周围基础设施进行单元测试(请参阅Hadoop的contrib).下一步通常是在本地作业运行器中进行测试,但请注意这里有一些注意事项:分布式缓存在本地模式下不起作用,并且您是单线程的(因此静态变量可以通过它们不会访问的方式访问)在生产中).下一步(和最常见的测试环境)是伪分布式模式 - 所有守护进程都在运行,但在一个盒子上运行.

MR作业罐以不同方式分发给客户机.通常可以在此处查看自定义部署过程 有些人使用像Capistrano这样的工具或像Chef或Puppet这样的配置管理工具来实现自动化.

我的个人开发通常在Eclipse中使用Maven完成.我使用Maven的Assembly插件构建jar(将所有依赖项打包在一个jar中以便于部署,但是更胖的jar).我经常使用MRUnit测试,然后使用伪分布模式.根据我的经验,当地的职业跑步者并不是很有用.部署几乎总是通过配置管理系统.可以使用像Hudson这样的CI服务器自动进行测试.

希望这可以帮助.