elastic4s 与 ssl 配置弹性搜索不工作
elastic4s with ssl configured elastic Search not working
下面是我用来在 spark scala 代码中从 elasticsearch
访问索引数据的脚本。它工作得很好。
import com.sksamuel.elastic4s.http.{ElasticClient, ElasticProperties}
import com.sksamuel.elastic4s.http.ElasticDsl._
val esUrl = "http://" + <ip> + ":" + <port>
val client = ElasticClient(ElasticProperties(esUrl))
val response = client.execute(
deleteIn(Index/Type).by(matchQuery(indexField, values))
)
现在我已将 ES 配置为 SSL 并尝试访问相同的数据,但它不起作用,因为我需要在此处传递 SSL 详细信息。所以我已经通过 url 但它给出了无效的 url 错误。
https://user:pass@<ip>:<port>?ssl=true"
或
https://user:pass@<ip>:<port>"
Could you please help me to change this script so that it can also
work with SSL configured ES?
我也尝试过使用 HttpClient
而不是 ElasticClient
但它不起作用并且出现如下奇怪的错误:
scala> import com.sksamuel.elastic4s.http.HttpClient
import com.sksamuel.elastic4s.http.HttpClient
scala> val esUrl = "elasticsearch://user:pass@<ip>:<port>?ssl=true"
esUrl: String = elasticsearch://user:pass@<ip>:<port>?ssl=true
scala> val client = HttpClient(ElasticsearchClientUri(esUrl))
<console>:43: error: not found: value HttpClient
我想使用相同的 ElasticClient
。如果我遗漏了什么,请告诉我。
请注意:我使用的是以下版本:
Spark - 2.4.3
弹性搜索 - 6.2.4
elastic4s - 6.3.3
scala - 2.11
我对 elastic4s 做的研究很少,得出的结论是它支持 SSL 但不支持身份验证(使用 Search Guard)。因此,我编写了自己的 Scala 方法来对 Elastic Search 执行所有必需的操作。
它运行良好。
我的GitHublink如下:
https://medium.com/@n.suthar.online/scalaes-apache-spark-and-elasticsearch-connector-d6bc927f8c51
下面是我用来在 spark scala 代码中从 elasticsearch
访问索引数据的脚本。它工作得很好。
import com.sksamuel.elastic4s.http.{ElasticClient, ElasticProperties}
import com.sksamuel.elastic4s.http.ElasticDsl._
val esUrl = "http://" + <ip> + ":" + <port>
val client = ElasticClient(ElasticProperties(esUrl))
val response = client.execute(
deleteIn(Index/Type).by(matchQuery(indexField, values))
)
现在我已将 ES 配置为 SSL 并尝试访问相同的数据,但它不起作用,因为我需要在此处传递 SSL 详细信息。所以我已经通过 url 但它给出了无效的 url 错误。
https://user:pass@<ip>:<port>?ssl=true"
或
https://user:pass@<ip>:<port>"
Could you please help me to change this script so that it can also work with SSL configured ES?
我也尝试过使用 HttpClient
而不是 ElasticClient
但它不起作用并且出现如下奇怪的错误:
scala> import com.sksamuel.elastic4s.http.HttpClient
import com.sksamuel.elastic4s.http.HttpClient
scala> val esUrl = "elasticsearch://user:pass@<ip>:<port>?ssl=true"
esUrl: String = elasticsearch://user:pass@<ip>:<port>?ssl=true
scala> val client = HttpClient(ElasticsearchClientUri(esUrl))
<console>:43: error: not found: value HttpClient
我想使用相同的 ElasticClient
。如果我遗漏了什么,请告诉我。
请注意:我使用的是以下版本:
Spark - 2.4.3
弹性搜索 - 6.2.4
elastic4s - 6.3.3
scala - 2.11
我对 elastic4s 做的研究很少,得出的结论是它支持 SSL 但不支持身份验证(使用 Search Guard)。因此,我编写了自己的 Scala 方法来对 Elastic Search 执行所有必需的操作。 它运行良好。
我的GitHublink如下:
https://medium.com/@n.suthar.online/scalaes-apache-spark-and-elasticsearch-connector-d6bc927f8c51