Spark3.0 使用域名连接ElasticSearch

Spark3.0 使用域名连接ElasticSearch

  1. 需求如下:
    有一个 https的 ElasticSearch的测试数据集群地址给我,内容形式是HTTPS的. 类似于
    https://abc.def.dasd:443, 网站地址是域名,类似www.sohu.com这种。希望我把数据写进这个地址

  2. 然后使用spark3 进行连接,后面发现连接不上,报错如下
    HadoopIllegalArgumentEXception:No data nodex with HTTP-enabled available

  3. 但是我用自己的临时的es服务器,HTTP协议的,http://xxx:9200没有问题,XXX是IP地址,127.0.0.1。

  4. 后面发现配置了这个参数,就可以进行连接了,

     .set("es.nodes.wan.only","true")
    

配置说明

默认为 false,设置为 true 之后,会关闭节点的自动 discovery,只使用es.nodes声明的节点进行数据读写操作;如果你需要通过域名进行数据访问,则设置该选项为 true,否则请务必设置为 false,可能对性能有影响

  1. 这边再把Spark连接ES必要的一些参数再分享一下
conf=new Sparkconf().setAppName("XXX").setMaster("local[*]")
conf.set("ex.index.auto.create","true")
conf.set("es.nodes.wan.only","true")
.set("es.nodes","https//www.sohu.com")
.set("es.port","443")

参考文献

  1. 链接:https://www.jianshu.com/p/930337f5902e

你可能感兴趣的:(spark,elasticsearch,spark)