我尝试从Spark Application连接到Apache Geode。 我的代码:
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("GeodeTest").setMaster("local[*]");
conf.set(GeodeJavaUtil.GeodeLocatorPropKey, "172.21.206.13[9009],172.21.206.202[9009]");
JavaSparkContext sc = new JavaSparkContext(conf);
GeodeJavaRegionRDD<String, String> rdd = GeodeJavaUtil.javaFunctions(sc).geodeRegion("simple_region");
System.out.println("=====!!!====" + rdd.values().take(10));
}
但是我遇到了一个奇怪的例外:
org.apache.geode.GemFireConfigException: SSL Configuration requires a valid distribution config.
at org.apache.geode.internal.net.SSLConfigurationFactory.getDistributionConfig(SSLConfigurationFactory.java:55)
at org.apache.geode.internal.net.SSLConfigurationFactory.createSSLConfigForComponent(SSLConfigurationFactory.java:89)
at org.apache.geode.internal.net.SSLConfigurationFactory.getSSLConfigForComponent(SSLConfigurationFactory.java:76)
at org.apache.geode.internal.net.SocketCreatorFactory.getSocketCreatorForComponent(SocketCreatorFactory.java:69)
at org.apache.geode.distributed.internal.tcpserver.TcpClient.<init>(TcpClient.java:74)
at org.apache.geode.spark.connector.internal.LocatorHelper$$anonfun$getAllGeodeServers$1.apply(LocatorHelper.scala:71)
at org.apache.geode.spark.connector.internal.LocatorHelper$$anonfun$getAllGeodeServers$1.apply(LocatorHelper.scala:67)
at scala.collection.IndexedSeqOptimized$$anonfun$1.apply(IndexedSeqOptimized.scala:50)
at scala.collection.IndexedSeqOptimized$$anonfun$1.apply(IndexedSeqOptimized.scala:50)
at scala.collection.IndexedSeqOptimized$class.segmentLength(IndexedSeqOptimized.scala:195)
at scala.collection.mutable.ArraySeq.segmentLength(ArraySeq.scala:46)
at scala.collection.GenSeqLike$class.prefixLength(GenSeqLike.scala:93)
at scala.collection.AbstractSeq.prefixLength(Seq.scala:41)
at scala.collection.IndexedSeqOptimized$class.find(IndexedSeqOptimized.scala:50)
at scala.collection.mutable.ArraySeq.find(ArraySeq.scala:46)
at org.apache.geode.spark.connector.internal.LocatorHelper$.getAllGeodeServers(LocatorHelper.scala:67)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnection.getClientCacheFactory(DefaultGeodeConnection.scala:71)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnection.initClientCache(DefaultGeodeConnection.scala:58)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnection.<init>(DefaultGeodeConnection.scala:50)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnectionFactory.newConnection(DefaultGeodeConnection.scala:175)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnectionManager$.getConnection(DefaultGeodeConnectionManager.scala:59)
at org.apache.geode.spark.connector.internal.DefaultGeodeConnectionManager.getConnection(DefaultGeodeConnectionManager.scala:29)
at org.apache.geode.spark.connector.GeodeConnectionConf.getConnection(GeodeConnectionConf.scala:39)
at org.apache.geode.spark.connector.internal.rdd.GeodeRegionRDD.validate(GeodeRegionRDD.scala:46)
at org.apache.geode.spark.connector.internal.rdd.GeodeRegionRDD.<init>(GeodeRegionRDD.scala:43)
at org.apache.geode.spark.connector.internal.rdd.GeodeRegionRDD$.apply(GeodeRegionRDD.scala:136)
at org.apache.geode.spark.connector.javaapi.GeodeJavaSparkContextFunctions.geodeRegion(GeodeJavaSparkContextFunctions.java:54)
at org.apache.geode.spark.connector.javaapi.GeodeJavaSparkContextFunctions.geodeRegion(GeodeJavaSparkContextFunctions.java:65)
at ru.schernolyas.test.spark.GeodeSparkTest.main(GeodeSparkTest.java:18)
我需要有关Apache Geode的Spark连接器的帮助。