【发布时间】:2023-03-11 04:57:02
【问题描述】:
我们已经生成了一个Jar of Spark java spring boot Application。
./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
它在我们开发的系统中的eclipse中运行没有错误,然后将其导出到jar。 在尝试使用独立的 spark 提交功能在集群模式下运行它时,我们遇到了问题。 我们怀疑像 autowired 这样的 spring 变量不在上下文中,因此没有构造对象。 因此我们得到空指针异常
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)
我们在测试类上运行它,下面是代码
@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");
}
}
}
请告诉我们如何在集群上运行 Spring Boot 应用程序
【问题讨论】:
标签: apache-spark apache-spark-sql apache-spark-2.0