Я пытаюсь запросить данные у Solr через Spark. У меня проблема с подключением ZooKeeper. Я начал Solr следующим образом:
solr start (не solr cloud), а также zkserver на другом cmd.
Пожалуйста, посмотрите на мой код:
object solr extends App {
val zkHost = "127.0.0.1:57864"
val collection = "website"
val queryStr = "*:*"
val conf = new SparkConf().setMaster("local").setAppName("My App")
val sc = new SparkContext(conf)
val solrRDD: SelectSolrRDD = new SelectSolrRDD(zkHost, collection, sc)
val rdd: RDD[SolrDocument] = solrRDD.query(queryStr)
val words: RDD[String] = rdd.map(doc => if (doc.containsKey("the")) doc.get("the").toString else "")
val counts = words
.map(word => (word, 1))
.reduceByKey(_ + _)
counts.foreach(println)
System.out.println("Total words: " + counts.count());
sc.stop()
}
Я также пытался с val zkHost = "localhost:2181"
, но я получаю ту же ошибку.
Моя ошибка выглядит так:
19/03/12 15:59:09 INFO ClientCnxn: Opening socket connection to server 127.0.0.1/127.0.0.1:57864. Will not attempt to authenticate using SASL (unknown error)
19/03/12 15:59:10 INFO ClientCnxn: Socket error occurred: 127.0.0.1/127.0.0.1:57864: Connection refused: no further information
19/03/12 15:59:11 INFO ClientCnxn: Opening socket connection to server 127.0.0.1/127.0.0.1:57864. Will not attempt to authenticate using SASL (unknown error)
19/03/12 15:59:12 INFO ClientCnxn: Socket error occurred: 127.0.0.1/127.0.0.1:57864: Connection refused: no further information
... и это постоянно. И в конце:
Exception in thread "main" com.google.common.util.concurrent.UncheckedExecutionException: org.apache.solr.common.SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper 127.0.0.1:57864 within 60000 ms
Кто-нибудь знает, что мне не хватает?