谈谈 数据挖掘 的程序 提交打包 调试问题

我们的hadoop 集群 白手起家的时候,基本上是相当于裸奔着,外网开着,只要你想 登录集群 ,通过外网 用户密码就可以操作集群了,相当危险,后来我们又分两次重新搭了hadoop集群,一次比一次严格,最后这次 我们的hadoop 集群只有内网,暴露的端口也是有限的,并且只能通过 pem文件登录。当然 这种只有阿里云内网的,想直接调试基本是不可能的,但是 可以通过 nginx 搭配 rpc 远程调用,但是这个还是有点 繁琐,我现在重点不在这里

最主要是当时 可以在本地直接调试内网外的 远端 hadoop集群,我们知道 只要可以debug 的程序,其实 是可以非常节省 开发时间的,如果不能调试的程序,不然你遇到意外输出 只能通过 print 或者 logger 讲 你期待的变量 结果 打印到console 中。

hadoop 其实还是 一个系统,如果你连接不上他,搞一些边缘数据挖掘,还是非常愁人的, 程序在 debug 时如果在连接不到 远端集群时,一个折中的方法就是在自己本地搭建一个hadoop单机版的,尝试debug,好像如果hadoop 没有运行,只要在程序运行的参数指定 hadoop的配置文件目录和 hadoop 运行lib库 也是可以做到的

我们这集群 中间虽然没有跳板机,但是还是有一个带外网的任务提交机器 A 一个 不带外网的任务数据中转机器 B ,我们的 mapReduce 程序提交 现在是这样的, 在本地打jar包 一般是scala ,并包含所有依赖的第三方 jar包,然后scp 到A 机器上 ,A 机器的外网带宽只有1m ,所以 一个90m的jar包, 以128kb/s的实际速度上传,需要十几分钟,挺浪费时间,然后再把jar 包从 A 机器 scp 到 B 机器 ,内网很快,两三秒搞定,然后在B 机器 hadoop jar scala.jar main class input output。 所以大家可以看到 假如你想debug 四次 ,一个小时就没有了,这还不算你 修改代码的功夫,一天调试40次就过去了

所以不能这样,我们 看到假如把 从本地到A 机器的传输时间剩下来,那么就会有质的提高,怎么做到呢,一开始我想 要不把依赖的第三方jar包 先上传到A 机器上的某个文件目录中,到时候 运行的时候指定第三方jar包路径,这个其实也是可以的。但是吧有点繁琐,需要找更简单的,我们是在本地打包的,没有打包的程序 代码其实只有几百kb 而已,那我们可以把 打包放在 A 机器上这样 就节省了外网带宽,本地到A 就急速加快了, 要想把打包放在 A 机器上 ,第一 scala 要支持 fat jar ,我使用的sbt 打包工具 ,单纯的 sbt package 是 不会把第三方jar包达到 程序jar 中,不过 sbt 有个插件 sbt assembly,这个非常完美实现了,这个插件安装还是蛮折腾的,也赶巧了,新版的IDEA,刚刚支持 sbt 1.0.X 系列的版本。 其他的 0.13.X 版本我一直没有整明白,另外需要在 A 机器上 安装 scala 2.12.1 sbt 1.0.4 ,在本地 写好代码后,剔除无关的内容,按程序结构对代码 打一个zip包,然后上传到 A 机器上,10秒ok ,然后在A 机器上解压 ,然后使用 sbt assembly 开始打fat jar ,打完包的在A 上运行,或者内网传到B 机器上,这样妥协后的调试,非常完美。单次节省 十分钟,还是非常可观的。

另外不得不提 emacs ,在A 机器上安装 emacs ,在本地可以直接调试A 机器上的emacs 也是非常方便,这样在A 机器上直接修改部分代码,节省从本地上传代码到 A 机器上的时间,如果省去打包时间就更妙了,我们只在正式提交任务时做打包,打包单次消耗时间是30s 到两分钟。

另外 如果我们可以打通 本地机器通过A 机器到集群的RPC 反向代理,那么就本地调试就可以了。

其实吧,种种不方便的【逆境】,反而倒逼你使出浑身解数,去寻找更好的方法来解决它,凡是人为设置的障碍,只要你有脑子,想办法,基本上都是可以逾越的

看朋友圈 多了,其实到底谁才是生活在社会的底层,真不好说,十年河东 十年河西,十年前错过 买房 ,三年前错过 买比特币 以太坊的
两年前躲过股灾的,哎 人类通向财富自由的道路 布满荆棘,向下的漏斗一直敞开的,向上爬的枝干一直人山人海,能一直笑着的少之寥寥,哭的最少带进棺材的 莫非就是人生赢家

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容