遇到的問題:
在配置spark的時(shí)候酥筝,啟動(dòng)spark-shell正常啟動(dòng)和使用滚躯,但是使用腳本start-all.sh 啟動(dòng)所有的服務(wù)時(shí)遇到問題雏门,拋出Java異常:
Unsupported major.minor version 51.0
原因分析
看了sprak啟動(dòng)腳本代碼,基本上就是config加載相關(guān)環(huán)境變量(Hadoop相關(guān)以及$SPARK_HOME等的需要配置好掸掏,其他spark相關(guān)的配置在conf/spark-env.sh中配置)茁影,然后啟動(dòng)master,再啟動(dòng)slaves丧凤。
我將在start-slaves.sh中最后一行shell echo出來執(zhí)行募闲,發(fā)現(xiàn)并沒有問題,可以正常啟動(dòng)slave愿待。所以原因可能是我用一個(gè)賬號(hào)作為中轉(zhuǎn)二次ssh登錄的時(shí)候造成Java環(huán)境丟失浩螺,并沒有新安裝的Java1.7環(huán)境。
解決方案
在spark-env.sh中再次export JAVA_HOME 或者 再次source .bash_profile仍侥。第二中方案比較優(yōu)秀要出,因?yàn)榭梢葬槍?duì)不同機(jī)器通用。