台式电脑

怎么样给电脑上的es设置密码(elasticsearch7141部署集群设置账号密码)

之前学习es都没有设置密码,但是为了安全考虑,规范的公司都会对es集群设置密码,所以今天测试了如何设置密码以及设置密码后常用插件如何连接es集群的问题,并做了记录。

elasticsearch版本7.14.1

es添加账号密码

1.打开es配置文件config/elasticsearch.yml

添加如下内容:

xpack.security.enabled:truexpack.security.transport.ssl.enabled:true

2.重启es集群

只有es集群重启后才可以进行密码初始化的操作

先找到es集群的pid,根据pid杀死es进程,之后重启es,命令如下:

ps-ef|grepelasticsearchkill-9pid./bin/elasticsearch-d

3.密码初始化

./bin/elasticsearch-setup-passwordsinteractive

之后等待设置密码,分别设置6个密码:

elastic

apm_system

kibana_system

logstash_system

beats_system

remote_monitoring_user

提示信息如下

Initiatingthesetupofpasswordsforreserveduserselastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.Youwillbepromptedtoenterpasswordsastheprocessprogresses.Pleaseconfirmthatyouwouldliketocontinue[y/N]yEnterpasswordfor[elastic]:Reenterpasswordfor[elastic]:Enterpasswordfor[apm_system]:Reenterpasswordfor[apm_system]:Enterpasswordfor[kibana_system]:Reenterpasswordfor[kibana_system]:Enterpasswordfor[logstash_system]:Reenterpasswordfor[logstash_system]:Enterpasswordfor[beats_system]:Reenterpasswordfor[beats_system]:Enterpasswordfor[remote_monitoring_user]:Reenterpasswordfor[remote_monitoring_user]:Changedpasswordforuser[apm_system]Changedpasswordforuser[kibana_system]Changedpasswordforuser[kibana]Changedpasswordforuser[logstash_system]Changedpasswordforuser[beats_system]Changedpasswordforuser[remote_monitoring_user]

4.如果后续再需要更改密码,可以用这个命令

curl-H"Content-Type:application/json"-XPOST-uelastic'http://127.0.0.1:9200/_xpack/security/user/elastic/_password'-d'{"password":"admin123"}'

es-head连接有密码的es集群

1.es配置文件添加配置

#连接elasticsearch-head配置跨域http.cors.enabled:truehttp.cors.allow-origin:'*'http.cors.allow-headers:Authorization,X-Requested-With,Content-Type,Content-Length

2.更改连接es-head,打开es-head页面网址上添加账号密码信息:

http://127.0.0.1:9100/?auth_user=elastic&auth_password=123456

之后在这个页面连接时输入es的连接ip和端口号就可以了

kibana设置连接的es集群密码

怎么样给电脑上的es设置密码(elasticsearch7141部署集群设置账号密码)

1.打开kibana配置文件,添加如下配置信息:

elasticsearch.username:"elastic"elasticsearch.password:"123456"

2.重启kibana

Java客户端使用es设置密码

工具方法

publicstaticRestHighLevelClientgetEsConnectionSecurity(Stringip,intport,Stringusername,Stringpassword){BasicCredentialsProviderbasicCredentialsProvider=newBasicCredentialsProvider();basicCredentialsProvider.setCredentials(AuthScope.ANY,newUsernamePasswordCredentials(username,password));RestClientBuilderrestClientBuilder=RestClient.builder(newHttpHost(ip,port)).setHttpClientConfigCallback(newRestClientBuilder.HttpClientConfigCallback(){@OverridepublicHttpAsyncClientBuildercustomizeHttpClient(HttpAsyncClientBuilderhttpClientBuilder){returnhttpClientBuilder.setDefaultCredentialsProvider(basicCredentialsProvider);}});returnnewRestHighLevelClient(restClientBuilder);}

pom文件:

org.elasticsearch.clienttransport7.6.2org.elasticsearch.clientelasticsearch-rest-high-level-client7.6.2org.elasticsearch.clientelasticsearch-rest-client7.6.2org.elasticsearchelasticsearch7.6.2

以上是单机版的es集群添加密码后的操作,适合平时练习使用,如果是es集群,该版本还需要开启集群认证的操作

1.更改es配置文件,添加如下配置(es开启集群模式后的配置有很多需要更改的,比如集群内部通信等,这里只简单记录下开启安全认证的配置):

xpack.security.enabled:truexpack.security.transport.ssl.enabled:truexpack.license.self_generated.type:basicxpack.security.transport.ssl.verification_mode:certificatexpack.security.transport.ssl.keystore.path:elastic-certificates.p12xpack.security.transport.ssl.truststore.path:elastic-certificates.p12

2.开启集群认证

为es集群创建节点认证中心,生成证书

命令:

./bin/elasticsearch-certuilca

中间会有设置密码的操作,可以直接回车,代表设置密码为空

根据提示执行完该命令后,会生成一个elastic-stack-ca.p12文件,将这个文件scp到集群每一个节点上

之后每个节点都需要执行如下命令:

./bin/elasticsearch-certutilcert--ca./elastic-stack-ca.p12

命令执行完成后会生成一个elastic-certificates.p12文件

上面更改的集群配置文件中,最后两个配置的文件就是这两个生成的证书文件路径

3.重启es集群

-------------------------结束------------------------

以上就是学习es过程中记录的关于集群密码的设置方法

我是刚开始学习编程不久的小白,有什么错误欢迎大家指正,以后我会将学习中的笔记、记录整理好发出来,希望大家多多支持。

相关新闻

返回顶部