idea中直接运行spark程序

我们可以在IDEA中直接运行spark程序,来连接服务器上的HDFS或者是spark集群来跑spark任务。

  1. 提前工作
    我们需要先解决idea直接运行程序远程访问HDFS的问题。
    1. 首先下载 hadoop-common-2.6.0-bin-master.rar 压缩包(需要和服务器上的Hadoop版本对应),解压到任意目录,然后在环境变量中添加 HADOOP_HOME ,变量值为解压的位置。
    2. 在 PATH 变量中添加以下值:%HADOOP_HOME%\bin ,之后确认即可,如果后面在idea中运行程序报错:

      则重启一下电脑,使上面的配置生效。
  2. 本地运行
    本地调试是使用本地idea中编写的代码引入的spark的相关jar包来运行spark程序,将spark程序提交到本地spark(本地并不需要安装Windows版本的spark)运行。下面是获取SparkContext的代码:
    val config = new SparkConf().setAppName("WordCount").setMaster("local")
    val sparkContext = new SparkContext(config)

    一定要调用setMaster()方法,方法参数设置为local。
    之后直接运行主方法就可以运行该程序。
     

  3. 远程运行
    远程运行是指经过代码设置,idea自动将代码打包并发布到指定的远程服务器上的spark上运行,远程服务器上的spark master接受jar包,并发布给worker运行,并可以在页面上看到master和worker中程序的执行情况。下面是获取SparkContext的代码:
    val config = new SparkConf().setAppName("WordCount").setMaster("spark://zb2:7077")
        .setJars(List("target/sparkdemo-1.0-SNAPSHOT-jar-with-dependencies.jar"))
        .setIfMissing("spark.driver.host", "172.16.72.251")
    val sparkContext = new SparkContext(config)

    1. setMaster方法中设置远程spark服务的master地址;
    2. setJars方法中传递一个Seq,里面写上jar包的位置(idea中打完jar包的位置);
    3. setIfMissing方法中设置spark驱动的机器IP地址,也就是你Windows开发电脑的IP地址。
    4. 之后直接运行主方法就可以运行该程序,idea自动打包并发布到远程spark服务器。

    注意:你的Windows和虚拟机里面的spark所在的linux系统(或者是linux服务器)必须能够互相ping通才行,而且都得关闭防火墙,因为他们相互之间需要通信。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第一片心意

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值