Spark離線日志分析,連接Spark出現報錯


首先,我的代碼是這樣的

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)綁定到正確的綁定地址
 
雖然翻譯了出來,但我還是沒完全明白,就知道是地址錯誤之類的
在這里插入圖片描述

然后查閱了各種方法,都沒用,看到了一個和我的報錯並不相同的解決辦法,我還是決定試試

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

在sparkConf中添加了一個設置,就奇跡般地成功了
在這里插入圖片描述
但是我的Spark是安裝在虛擬機的,為啥?
所以我又把localhost改成了node01(我虛擬機的主機名),結果又報同樣的錯
為什么?還是沒搞懂原因,不過有解決辦法了,所以先記錄一下,找到原因再來解決吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM