scala - 不会尝试使用 SASL 进行身份验证(未知错误)
问题描述
我尝试通过 Spark 从 Solr 查询数据。我遇到了 ZooKeeper 连接问题。我已经按如下方式启动了 solr:solr start(不是 solr cloud)以及另一个 cmd 上的 zkserver。
请看一下我的代码:
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
有谁知道我想念什么?
解决方案
我认为您的问题是您需要运行 solr cloud,因为 solr 的单个节点不需要 Zookeeper。
当您创建时,SelectSolrRDD
您传递的是 Zookeeper 主机,这意味着连接到 Solr Cloud 实例而不是单个节点,这可能是 Zookeeper 不知道您在说什么的原因。
此外,您的 solr zookeeper 合奏通常应如下所示:
val zkHost = "zkhost1:2181,zkhost2:2181,zkhost2:2181/solr"
请注意/solr
最后是 Zookeeper 中 Solr Cloud 保存其内容的路径。
推荐阅读
- azure - SSLError 糟糕的握手 ECONNRESET + TIMEOUT 仅在 ubuntu 18.04 上的 azure 门户上
- javascript - 如何在 Javascript 原型的方法中直接使用属性?
- angular - 从未连接到任何 Angular 7 组件的 HTML 文件访问变量
- xml - 如何在 Odoo 12 中以 XML 格式显示从数据库中获取的数据
- python - conda 包的平台独立构建
- jcr - 如果在 jackrabbit 橡木实施中禁用租赁检查会发生什么
- php - Android将用户名传递给php
- xml - 为什么样式不适用于princexml中的xml
- javascript - 如何在使用 html.twig 和 javascript 下载文件时更改 qr 代码文件名
- java - 如何在 Java 的测试步数计数器中每次将十进制值增加 0.1?