前言:
而今各位老铁们对“java设置账号密码”大致比较重视,大家都想要剖析一些“java设置账号密码”的相关内容。那么小编同时在网络上网罗了一些有关“java设置账号密码””的相关文章,希望我们能喜欢,你们快快来了解一下吧!前言
elasticsearch6.3.1安装包中已经集成了x-pack插件,无需使用elasticsearch-plugin install来安装x-pack,我们需要做的是使x-pack工作
1.通过请求开启trial license
curl -H "Content-Type:application/json" -XPOST
可以看到shell控制台显示type已变为trial
2.在es安装目录elasticsearch.yml配置文件下增加配置
xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true
3.重启你的es,记得linux要切换成启动账号(非root账号)
4.重启后设置密码
在es安装目录bin目录下找到elasticsearch-setup-passwords,执行
./elasticsearch-setup-passwords interactive
5.再访问就会出现要输入账号密码:
elastic,kibana,logstash_system,beats_system这些是账号,密码就是自己设置的。
6.搭建完成后,那么问题来了,java客户端该如何接入
其实很简单,找到你的连接ES的工具类。在创建连接的前面放入账号密码
连接好的client存在内存中,减少不必要的生成client对象,单列如下:
/每次都取client太耗时,大约需要2秒左右,所以只取一次,放在内存中,不关闭,一直用 private static RestHighLevelClient client = null; public static RestHighLevelClient getClient() { try { if(client != null){ return client; } synchronized (EsUtil.class) { if(client != null){ return client; } long t = new Date().getTime(); /** 用户认证对象 */ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); /** 设置账号密码 */ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "123456")); /** 创建rest client对象 */ RestClientBuilder builder = RestClient.builder(new HttpHost("127.0.0.1", 9200)) .setHttpClientConfigCallback(new HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }); client = new RestHighLevelClient(builder); long t1 = new Date().getTime(); System.out.println("获得连接,耗时:"+(t1-t)+"s"); return client; } } catch (Exception e) { e.printStackTrace(); } return null; }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java设置账号密码