解决eclipse下/非spark集群下/通过 java application运行spark程序

最近开始学spark,配置好spark集群后使用另一台局域网内的非集群内部linux机器进行开发。

创建的maven项目。

直接使用run as-->java Application 报classNotFound错误。

原因好像是程序没有生成对应的jar包给master,worker无法获取到jar。

那首先想到的当然是使用maven生成jar包。

然后可以使用两种方法来运行程序:

1、将jar包移动到配置了spark的集群机器上(不一定非要是master),使用spark bin自带的spark-submit运行,但是对我来说不是特别习惯。而且对于小程序来说每次附加好长的命令特麻烦。对于希望被外部调用的spark程序来说也很不方便。

2、使用ide直接来运行,我是用eclipse来运行的,首先生成程序jar包,然后在初始化javaSparkContext对象时通过javaSparkContext.addJar(  已经打好的jar包路径   );

然后再次使用run as-->java Application就可以了,确实变得很方便了。必须注意jar包路径不要写错了。

还有一个我自己学习spark遇到的问题:在使用java开发spark程序时需要导入spart-hadoop相关jar包,当然可以使用maven等一个个加进去,但一般都是用手动编译的jar包,官方已经编

译好的spark里面会有spark-assembly-***-hadoop***.jar这样的jar包,直接导入项目即可,当然了最好是自己使用官方源码使用maven或者sbt编译自己的spark集群框架最合适的

spark,然后导入spark-assembly-***-hadoop***.jar来在集群外进行开发.如果jar包不完整会报ClassNotFound异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值