Spark Java Spring起動アプリケーションのJarファイルを生成しました。
SparkクラスタでSpring起動アプリケーションを実行する方法
./spark-submit --class com.recordlinkage.coreTest.IntegratedRecordLinkageTest
--deploy-mode cluster
--master spark://UCSL-GKL-HDP-02:6066/home/hadoop/spark-2.1.0-bin-hadoop2.7/bin/AIRecordLinkage.jar
それは、我々はjarファイルにエクスポートする前に、それをを開発したシステムでは、Eclipseでエラーなしで実行されます。 スタンドアロンのスパーク送信機能を使用してクラスタモードで実行しようとすると、問題が発生しています。 autowiredのようなスプリング変数がコンテキスト内にないと疑われているため、オブジェクトは構築されません。 そこで我々は、我々はテストクラスでそれを実行している
Exception in thread "main" java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:58)
at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala)
nullポインタ例外が、ここ
@RunWith(SpringRunner.class)
@SpringBootTest
public class IntegratedRecordLinkageTest {
@Autowired
private LoadCSV loadCSV;
@Autowired
private Environment envirnoment;
@Autowired
private IntegratedRecordLinkage integratedRecordLinkage;
@Test
public void testLoadCSVFile() {
try{
integratedRecordLinkage.link();
}
catch(Exception e){
e.printStackTrace();
Assert.fail("Exception Occurred");
}
}
}
親切
私たちは、クラスタ上で春のブートアプリケーションを実行する方法を知っている以下のコードで取得している
私たちは、上記の方法を試してみました、しかし、まだ発生する、NullPointer exeptionを取得。ログに情報がないために例外の原因を特定できません。この問題を処理する上での手掛かりがあります。 Springbootアプリケーションのデプロイに関するリンクやドキュメントを提供することができれば助かります – Shreeharsha