本文主要介绍docker安装Elasticsearch7.6集群和设置密码。通过示例代码进行了非常详细的介绍,对于大家的学习或者工作都有一定的参考价值。有需要的朋友下面跟边肖学习。
Elasticsearch从6.8开始,允许免费用户使用X-Pack的安全功能。装es之前是裸奔。接下来,记录配置安全认证的方法。
为了简化物理安装过程,我们将使用docker来安装我们的服务。
一些基本配置
Es需要修改linux的一些参数。
设置vm.max_map_count=262144
sudovim/etc/sysctl.conf vm.max_map_count=262144不,重新启动,当前命令将直接生效。
sysctl-wvm.max_map_count=262144Esdata和日志目录需要授权给1000个用户。我们假设安装了三个强大的es集群,并且首先创建了相应的数据存储文件。
mkdir-pes01/data mkdir-pes01/logs mkdir-pes02/data mkdir-pes02/logs mkdir-pes03/data mkdir-pes03/logs ##es的用户id为1000,这里暂且授权给所有人好了 sudochmod777es*-R关于版本和docker映像
Elasticsearch分为几种授权,其中开源和基础都是免费的,但6.8以后,安全功能开始集成在es的基础授权上。
基本的docker图像是
dockerpulldocker.elastic.co/elasticsearch/elasticsearch:7.6.2同时,dockerhub与elasticsearch同步。我们就直接拉elasticsearch:7.6.2吧。
开始
安装文件都放在GitHub:https://GitHub.com/Ryan-Miao/docker-China-source/tree/master/docker-elasticsearch
首先,创建docker-compose.yml
version:'2.2' services: es01: image:elasticsearch:7.6.2 container_name:es01 environment: -node.name=es01 -cluster.name=es-docker-cluster -discovery.seed_hosts=es02,es03 -cluster.initial_master_nodes=es01,es02,es03 -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms512m-Xmx512m" ulimits: memlock: soft:-1 hard:-1 volumes: -./es01/data:/usr/share/elasticsearch/data -./es01/logs:/usr/share/elasticsearch/logs -./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 ports: -9200:9200 networks: -elastic es02: image:elasticsearch:7.6.2 container_name:es02 environment: -node.name=es02 -cluster.name=es-docker-cluster -discovery.seed_hosts=es01,es03 -cluster.initial_master_nodes=es01,es02,es03 -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms512m-Xmx512m" ulimits: memlock: soft:-1 hard:-1 volumes: -./es02/data:/usr/share/elasticsearch/data -./es02/logs:/usr/share/elasticsearch/logs -./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 ports: -9201:9200 networks: -elastic es03: image:elasticsearch:7.6.2 container_name:es03 environment: -node.name=es03 -cluster.name=es-docker-cluster -discovery.seed_hosts=es01,es02 -cluster.initial_master_nodes=es01,es02,es03 -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms512m-Xmx512m" ulimits: memlock: soft:-1 hard:-1 volumes: -./es03/data:/usr/share/elasticsearch/data -./es03/logs:/usr/share/elasticsearch/logs -./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 ports: -9202:9200 networks: -elastic kib01: depends_on: -es01 image:kibana:7.6.2 container_name:kib01 ports: -5601:5601 environment: ELASTICSEARCH_URL:http://es01:9200 ELASTICSEARCH_HOSTS:http://es01:9200 volumes: -./kibana.yml:/usr/share/kibana/config/kibana.yml networks: -elastic networks: elastic: driver:bridge关于elasticsearch.yml
内容如下
network.host:0.0.0.0 xpack.security.enabled:true xpack.security.transport.ssl.enabled:true xpack.security.transport.ssl.keystore.type:PKCS12 xpack.security.transport.ssl.verification_mode:certificate xpack.security.transport.ssl.keystore.path:elastic-certificates.p12 xpack.security.transport.ssl.truststore.path:elastic-certificates.p12 xpack.security.transport.ssl.truststore.type:PKCS12 xpack.security.audit.enabled:true关于证书elastic-certificates.p12
Es提供了elasticsearch-certutil,一个生成证书的工具。我们可以在docker实例中生成,然后复制,以后统一使用。
首先运行es实例。
sudodockerrun-dit--name=eselasticsearch:7.6.2/bin/bash输入实例。
sudodockerexec-ites/bin/bash生成ca:elastic-stack-ca.p12
[root@25dee1848942elasticsearch]#./bin/elasticsearch-certutilca ThistoolassistsyouinthegenerationofX.509certificatesandcertificate signingrequestsforusewithSSL/TLSintheElasticstack. The'ca'modegeneratesanew'certificateauthority' ThiswillcreateanewX.509certificateandprivatekeythatcanbeused tosigncertificatewhenrunningin'cert'mode. Usethe'ca-dn'optionifyouwishtoconfigurethe'distinguishedname' ofthecertificateauthority Bydefaultthe'ca'modeproducesasinglePKCS#12outputfilewhichholds: *TheCAcertificate *TheCA'sprivatekey IfyouelecttogeneratePEMformatcertificates(the-pemoption),thentheoutputwill beazipfilecontainingindividualfilesfortheCAcertificateandprivatekey Pleaseenterthedesiredoutputfile[elastic-stack-ca.p12]: Enterpasswordforelastic-stack-ca.p12:再次生成cert:elastic-certificates.p12。
[root@25dee1848942elasticsearch]#./bin/elasticsearch-certutilcert--caelastic-stack-ca.p12 ThistoolassistsyouinthegenerationofX.509certificatesandcertificate signingrequestsforusewithSSL/TLSintheElasticstack. The'cert'modegeneratesX.509certificateandprivatekeys.生成这个elastic-certificates.p12就是我们需要使用的。
复制证书,ctrl+d退出容器。
sudodockercpes:/usr/share/elasticsearch/elastic-certificates.p12. #关闭这个容器 sudodockerkilles sudodockerrmes证书就这样获得了。
生成密码
首先,我们必须启动es集群,并进入内部生成密码。
sudodocker-composeup然后进入其中一个。
sudodockerexec-ites01/bin/bashAuto用于生成密码,interactive用于设置密码。
[root@cfeeab4bb0ebelasticsearch]#./bin/elasticsearch-setup-passwords-h Setsthepasswordsforreservedusers Commands -------- auto-Usesrandomlygeneratedpasswords interactive-Usespasswordsenteredbyauser Non-optionarguments: command OptionDescription ----------------- -E<KeyValuePair>Configureasetting -h,--helpShowhelp -s,--silentShowminimaloutput -v,--verboseShowverboseoutput [root@cfeeab4bb0ebelasticsearch]#./bin/elasticsearch-setup-passwordsauto Initiatingthesetupofpasswordsforreserveduserselastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user. Thepasswordswillberandomlygeneratedandprintedtotheconsole. Pleaseconfirmthatyouwouldliketocontinue[y/N]y Changedpasswordforuserapm_system PASSWORDapm_system=YxVzeT9B2jEDUjYp66Ws Changedpasswordforuserkibana PASSWORDkibana=8NnThbj0N02iDaTGhidU Changedpasswordforuserlogstash_system PASSWORDlogstash_system=9nIDGe7KSV8SQidSk8Dj Changedpasswordforuserbeats_system PASSWORDbeats_system=qeuVaf1VEALpJHfEUOjJ Changedpasswordforuserremote_monitoring_user PASSWORDremote_monitoring_user=DtZCrCkVTZsinRn3tW3D Changedpasswordforuserelastic PASSWORDelastic=q5f2qNfUJQyvZPIz57MZ使用密码
浏览器需要输入账号才能访问本地主机:9200/9201/9202。
只需输入相应的d性/密码。
浏览器访问本地主机:5601
忘记了您的密码
生成后忘记密码怎么办?你可以进入机器修改它。
进入es的机器
sudodockerexec-ites01/bin/bash创建临时超级用户RyanMiao。
./bin/elasticsearch-usersuseraddryan-rsuperuser Enternewpassword: ERROR:Invalidpassword...passwordsmustbeatleast[6]characterslong [root@cfeeab4bb0ebelasticsearch]#./bin/elasticsearch-usersuseraddryan-rsuperuser Enternewpassword: Retypenewpassword:使用此用户更改elastic的密码:
curl-XPUT-uryan:ryan123http://localhost:9200/_xpack/security/user/elastic/_password-H"Content-Type:application/json"-d' { "password":"q5f2qNfUJQyvZPIz57MZ" }'引用
http://codingfundas.com/setting-up-elasticsearch-6-8-with-kiBana-and-x-pack-security-enabled/index.html
关于docker安装Elasticsearch7.6集群和设置密码的这篇文章到此为止。关于docker安装Elasticsearchcluster的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)