ambari叢集中spark叢集執行jar踩的坑
公司三臺測試伺服器,測試spark的叢集模式是否正常執行遇到的問題:
1.spark執行spark任務遇到的,
SparkContext did not initialize after waiting for 100000 ms. Please check earlier log output for errors. Failing the application.
參考部落格:
https://www.cnblogs.com/huanongying/archive/2017/10/12/7655598.html
執行指令碼有問題:
sudo -u hdfs /usr/hdp/2.6.5.0-292/spark2/bin/spark-submit \ spark的bin目錄下執行
–master yarn \ spark的叢集模式
–deploy-mode cluster \ yarn 的模式
–class com.amhy.test.Sprk01 \ 類的全路徑
–num-executors 3 \ executor的數量
–driver-memory 512m \ driver的記憶體
–executor-memory 1g \ executor的記憶體
–executor-cores 1
/bigdata/jars/scala-yarn.jar \
將submit.py檔案修改成可執行檔案:
chmod +x 檔名
執行方法: ./檔名
執行時產生的異常:
Exception in thread “main” java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2sp
可能的問題:1.叢集的scala的版本和idea中scala的版本不一致
解決辦法:idea中修改scala的sdk,改成叢集中scala的版本
2.可能是包的問題,把依賴包打進去一直在叢集上執行,可能叢集沒有這個依賴包
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.xxg.Main</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins>