2017-06-26 40 views
0

我有一個HDInsight集羣正在運行3.6,它根據docs只捆綁了Spark 2.1.0。在使用HDI 3.6的集羣上,Spark總是使用舊版本1.6.3版本

顯然李維一直沒有整合這個版本並試圖捲曲李維(像火花的作業Azure的教程文檔建議)導致HTTP 502 BAD GATEWAY響應 - 所以我試圖手動提交火花的工作。

然而,當我ssh到主節點,並使用​​我立刻注意到包裝腳本打印如下:

SPARK_MAJOR_VERSION is set to 1, using spark1

所以我認爲設置SPARK_MAJOR_VERSION = 2將迫使它運行spark2 ,並且包裝器檢測到它並按照它應該打印它。但火花的版本並沒有真正改變。我得到了一個二進制不兼容的錯誤(與Scala一樣神祕 - 關於funcArrow)。

我看看spark-wrapper.sh文件,發現它處理不同版本的火花:

else 
    echo -e "SPARK_MAJOR_VERSION is set to ${SPARK_MAJOR_VERSION}, using Spark${SPARK_MAJOR_VERSION}" 1>&2 
    SCRIPT="/usr/hdp/current/spark${SPARK_MAJOR_VERSION}-client/bin/${FILE}" 
fi 

所以,我發起裏面/usr/hdp/current/spark2-clientspark-shell可執行文件並立即打印如下:

Welcome to 
     ____    __ 
    /__/__ ___ _____/ /__ 
    _\ \/ _ \/ _ `/ __/ '_/ 
    /___/ .__/\_,_/_/ /_/\_\ version 1.6.3 
     /_/ 

Using Scala version 2.10.5 (OpenJDK 64-Bit Server VM, Java 1.8.0_131) 

Spark 2.1.0使用Scala 2.11 - 2.10會顯示棄用警告 - 因此HDInsight絕對使用Spark 1.x

我錯過了什麼或這是一個已知的問題?

其他信息: 我使用powershell cmdlet創建了此羣集 - 但羣集肯定是3.6

+0

我想你應該提高它的支持,我不認爲這裏的人可以幫助你, – 4c74356b41

+0

@ 4c74356b41大概會在10分鐘左右,只是想知道這是一個已知的問題或某事 – SacredSkull

+0

我不知道沒有用,所以不能幫助你。 – 4c74356b41

回答

0

事實證明,因爲我使用powershell azure cmdlet配置集羣,所以無法指定我需要的集羣類型(無論如何我都無法確定)。自從我將這個「錯誤」的一個下來後,我知道我在創建版本設置爲3.6時沒有收到任何錯誤。看起來HDInsight 3.6並不一定是來自Spark2。

簡而言之,配置與ARM(Azure資源管理器)的模板系統相比要好得多。這樣做立刻讓我得到了一個Spark2作爲默認提示。看看這個模板,它很清楚地表明集羣的類型是SPARK2

0

這看起來不像HDI 3.6羣集。或者這個實例有問題。 你可以檢查版本嗎?請檢入Azure門戶或ssh會話類型:ls /usr/hdp。該命令將打印實際位的版本文件夾。對於基於3.6的羣集,它應顯示:2.6.0.10-29或類似內容。