elk系列
这几天在做openapi中的一些数据推送,测试环境已经通过,到压测环境java连接es时候报异常:xception in thread "main" NoNodeAvailableException[None of the configured nodes are available......
搜了一下网上的解决方案.
1、代码配置ip,端口号
4、还有就是ElasticSearch 5.0x之后 有个xpack插件,装了这东西获取连接方式有所不同
// .put("xpack.security.transport.ssl.enabled", false)
// .put("xpack.security.user", "elastic:changeme")
.put("client.transport.sniff", true)// 增加嗅探机制,找到ES集群
.put("thread_pool.search.size", Integer.parseInt(poolSize))
.build();
client = new PreBuiltTransportClient(esSetting);
报java.lang.IllegalArgumentException: unknown setting [xpack.security.transport.ssl.enabled] please check that any required plugins are installed, or check the breaking changes documentation for removed settings异常
由于不认识加了xpack开头的所有参数,这个是因为缺少xpack的lib造成的。
<artifactId>x-pack-transport</artifactId>
<version>5.6.1</version>
</dependency>
搜了一下网上的解决方案.
1、代码配置ip,端口号
2、es集群起了clustername与集群配置不一致
Settings esSetting = Settings.builder().put("cluster.name", "sit_elasticsearch_cluster")
配置文件中的cluster.name与settings.builder().put中的保持一致.
4、还有就是ElasticSearch 5.0x之后 有个xpack插件,装了这东西获取连接方式有所不同
参照官网https://www.elastic.co/guide/en/x-pack/current/java-clients.html
检查发现压测环境装了xpack,添加连接用户名和密码(elastic/changeme)
// .put("xpack.security.transport.ssl.enabled", false)
// .put("xpack.security.user", "elastic:changeme")
.put("client.transport.sniff", true)// 增加嗅探机制,找到ES集群
.put("thread_pool.search.size", Integer.parseInt(poolSize))
.build();
client = new PreBuiltTransportClient(esSetting);
报java.lang.IllegalArgumentException: unknown setting [xpack.security.transport.ssl.enabled] please check that any required plugins are installed, or check the breaking changes documentation for removed settings异常
由于不认识加了xpack开头的所有参数,这个是因为缺少xpack的lib造成的。
pom.xml加上<dependency>
<artifactId>x-pack-transport</artifactId>
<version>5.6.1</version>
</dependency>
还是不行....
最后发现是xpack证书过期...更新xpack证书,ok解决了...