Mac Intellij 下远程调试 Hadoop 代码有什么好的方案?

2015-10-29 04:10:40 +08:00
 yhf

用 VirtualBox 和 vagrant 安装了 ubuntu ,在 ubuntu 里安装了 Hadoop.

然后我在本地 Intellij 里写代码,因为本地没有安装 Hadoop, 所以 Intellij 无法代码补全,也没有错误提示,十分痛苦。有什么好的解决方案吗?我现在是自己在本地写,然后 rsync 到虚拟机,然后再在虚拟机里跑。

3806 次点击
所在节点    Hadoop
6 条回复
bbx
2015-10-29 04:55:42 +08:00
安装 virtualbox 或者 vagrant 或者 docker 之类的其实都挺不方便的,年轻的时候经常这么测试。。
你需要的 unit test 之类的,而不是“写了代码,打成 jar 再传到 server 上 run 一个小点的 dataset ”
jamesyf
2015-10-29 06:03:46 +08:00
你是写什么 hadoop 代码?如果是 java/scala 的 mapreduce 代码的话一般你可以使用 maven/gradle/ant 来做依赖管理,只要把这些东西陪好的话 intellij 就可以自动把对应的依赖拉下来做代码补全。
wakemecn
2015-10-29 06:23:11 +08:00
Mac 本地是可以安装 Hadoop 单击模式或者伪分布式模式作为实验用的。
haog
2015-10-29 09:21:12 +08:00
其实无非是两个痛点:
1 是没补全,这个好说, maven 或者 gradle 都能简单解决。但是 mapreduce ,即使有补全,没有 compile error 。 runtime error 也是不时会出现
2 是反复调试蛋疼。其实 2 是更为痛苦的一点,以为你要反复的 build uber jar ,然后 test ,即使是在 local 下面也是烦得一 b 。更别说,还可能处理各种格式的文件, avro , protobuf 等等。所以说,你需要 unit test 来反复 rerun 你写好的 test case 。
可以试一下:
https://github.com/gaohao/hhdp
好不好用试一试
yhf
2015-10-29 11:44:14 +08:00
@bbx
@haog
@jamesyf
感谢!


@wakemecn 嗯,我知道。但是老师要求用 ubuntu.......
jimmyzhang33
2015-10-29 16:43:23 +08:00
1. 在 Intellij 里面编码;
2. 在 Intellij 编写完以后上传到代码库上面;
3. 在 server 上写个 shell ,功能包括更新 server 上的代码,及自动运行;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/231881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX