Я разрабатываю часть spark (v2.4.3), которая читает эластичный поиск (v7.3.0) на подпружиненной загрузке 2 (web) с использованием es-hadoop (v7.3.1).
** ref https://www.elastic.co/guide/en/elasticsearch/hadoop/master/spark.html
Когда я запускаю его с «mvn spring-boot: run», он работает нормально.
Но, когда я запускаю егос помощью "java -jar output.jar" JavaEsSpark делает ошибку при доступе кasticsearch. Я думал по-разному, но не знаю почему.
"ExceptionInInitializerError: null .. RestService" "sql.Не удалось создать экземпляр DefaultSource15 "" URI не является иерархической .. версией. "
Я прошу вашей помощи (-.-)
** ps.Я проверил пакеты в jar-файле.=> ОКЯ пытался с SparkSession, но также не удалось.(выполнение java -jar)
** мой код https://github.com/maxmin93/agens-spark/blob/master/src/main/java/net/bitnine/agensspark/AgenssparkApplication.java
LOGGER.info("SpringBootSpark To Elasticsearch Application: {}, {}, {}, {}"
, appName, nodes, port, sparkHome);
String master = "local[*]";
SparkConf conf = new SparkConf()
.setAppName(appName)
.setSparkHome(sparkHome)
.setMaster(master)
.set("spark.executor.memory", "2g")
.set("spark.driver.memory", "2g")
.set("spark.eventLog.enabled","false")
.set("es.nodes.wan.only", "true")
.set("es.nodes", nodes)
.set("es.port", port)
.set("es.mapping.id", "id")
.set("es.write.operation", "upsert")
.set("es.index.read.missing.as.empty", "true");
JavaSparkContext jsc = new JavaSparkContext(conf);
// for DEBUG
System.out.println("\n\n==================================\n");
System.out.println(Arrays.stream(jsc.getConf().getAll()).map(t->{
return t._1()+"="+t._2();
}).collect(Collectors.joining(", ")));
JavaPairRDD<String, Map<String, Object>> esRDD =
JavaEsSpark.esRDD(jsc, resource, "?q=datasource:sample");
System.out.println("\n**count = "+esRDD.count());
сообщение об ошибке
==================================
spark.app.id=local-1568944125286, spark.executor.memory=2g, spark.home=/Users/bgmin/Servers/spark, es.port=15619, spark.app.name=agensspark, spark.executor.id=driver, es.mapping.id=id, es.index.read.missing.as.empty=true, spark.driver.host=192.168.0.20, spark.driver.memory=2g, spark.driver.port=49672, spark.master=local[*], es.write.operation=upsert, es.nodes=27.117.163.21, spark.eventLog.enabled=false, es.nodes.wan.only=true
2019-09-20 10:48:45.397 INFO 14660 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-09-20 10:48:45.401 ERROR 14660 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.ExceptionInInitializerError: null
at org.elasticsearch.hadoop.rest.RestService.findPartitions(RestService.java:216) ~[elasticsearch-hadoop-7.3.2.jar!/:7.3.2]
at org.elasticsearch.spark.rdd.AbstractEsRDD.esPartitions$lzycompute(AbstractEsRDD.scala:79) ~[elasticsearch-hadoop-7.3.2.jar!/:7.3.2]
at org.elasticsearch.spark.rdd.AbstractEsRDD.esPartitions(AbstractEsRDD.scala:78) ~[elasticsearch-hadoop-7.3.2.jar!/:7.3.2]