Spark离线日志分析,连接Spark出现报错

601-赵同学

发表文章数:191

热门标签

, , ,
首页 » 大数据 » 正文

首先,我的代码是这样的

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object PvCount {
  def main(args: Array[String]): Unit = {

    //获取SparkConf
    val sparkConf = new SparkConf().setMaster("local[2]").setAppName("PV-Count")
    //创建SparkContext
    val sparkContext = new SparkContext(sparkConf)
    //读取文件
    val fileRDD: RDD[String] = sparkContext.textFile("file:Users/zhaozhuang/Desktop/4、Spark/Spark第二天/第二天教案/资料/运营商日志/access.log")
    //统计数量
    val count = fileRDD.count()

    println("一共有"+count+"行数据")

    sparkContext.stop()
  }
}

我的Spark是装在虚拟机上的,然后运行就报错

java.net.BindException: Can’t assign requested address: Service ‘sparkDriver’ failed after 16 retries (on a random free port)! Consider explicitly setting the appropriate binding address for the service ‘sparkDriver’ (for example spark.driver.bindAddress for SparkDriver) to the correct binding address.
 
大概翻译一哈:
java.net.BindException:无法分配请求的地址:'sparkDriver’服务在16次重试后(在一个随机自由的端口上)失败了!考虑显式地适当的将’sparkDriver’服务(比如 SparkDriver的spark.driver.bindAddress)绑定到正确的绑定地址
 
虽然翻译了出来,但我还是没完全明白,就知道是地址错误之类的
Spark离线日志分析,连接Spark出现报错

然后查阅了各种方法,都没用,看到了一个和我的报错并不相同的解决办法,我还是决定试试

val sparkConf = new SparkConf().setMaster("local[2]").setAppName("PV-Count").set("spark.driver.host", "localhost")

在sparkConf中添加了一个设置,就奇迹般地成功了
Spark离线日志分析,连接Spark出现报错
但是我的Spark是安装在虚拟机的,为啥?
所以我又把localhost改成了node01(我虚拟机的主机名),结果又报同样的错
为什么?还是没搞懂原因,不过有解决办法了,所以先记录一下,找到原因再来解决吧

未经允许不得转载:作者:601-赵同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《Spark离线日志分析,连接Spark出现报错》 发布于2020-04-12

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录