eclipse/intellij可以用来在集群上执行代码吗

yuvru6vn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(378)

生产系统:使用ambari 2.4.0.1的hdp-2.5.0.0
在hdp上执行一系列代码(javamr等,scala,spark,r)需要大量的需求,但是需要从桌面windows机器ide执行。
对于spark和r,我们有r-studio设置。
挑战在于java、scala等,而且人们使用从eclipse到intellij idea的一系列ide。
我知道EclipseHadoop插件没有得到积极的维护,在使用最新版本的hadoop时也有大量的bug,IntellijIDEA我从官方网站上找不到可靠的输入。
我相信hive和hbase客户机api是从eclipse等连接的可靠方式,但我对执行mr或其他定制java/scala代码持怀疑态度。
我引用了几个类似这样的线程,但是,我仍然有一个问题:像eclipse/intellij这样的ide是否有对hadoop的官方支持?甚至hadoop的spring数据似乎也失去了吸引力,但它并没有像两年前预期的那样工作;)
作为一个现实的替代方案,应该使用哪个工具/插件/库来“本地”测试mr和其他java/scala代码,即在使用集群的独立版本的台式机上?
注意:我不希望在沙盒中工作,而是直接连接到产品集群。

wztqucjr

wztqucjr1#

我不认为有一个通用的解决方案可以平等地适用于所有hadoop服务。每个解决方案都有自己的开发、测试和部署场景,因为它们是不同的独立产品。对于mr情况,您可以使用mrunit从ide本地模拟您的工作。另一个选项是localjobrunner。它们都允许您直接从ide检查mr逻辑。对于storm,可以使用backtype.storm.testing库来模拟拓扑的工作流。但是它们都是从ide使用的,没有直接的集群通信,比如casewithspark和rstudio集成。
至于mr建议,理想情况下,您的工作应该通过以下生命周期—使用mrunit编写工作并在本地进行测试,然后,您应该使用一些测试数据在某个开发集群上运行它(请参阅minicluster作为选项),然后使用一些自定义计数器在实际集群上运行它,这将帮助您定位格式错误的数据并正确维护作业。

相关问题