哈尔滨百度引擎,网站做优化效果怎么样,闵行区最新消息,精准营销策略都有哪些准备工作
docker 安装好#xff0c;docker compose 安装好编辑好docker-compose.yml文件#xff08;本文会提供#xff09;生成elastic-certificates.p12密钥#xff0c;与docker-compose文件在同一个目录#xff08;本文会介绍生成方式#xff09;准备elasticsearch配置…准备工作
docker 安装好docker compose 安装好编辑好docker-compose.yml文件本文会提供生成elastic-certificates.p12密钥与docker-compose文件在同一个目录本文会介绍生成方式准备elasticsearch配置文件与docker-compose文件在同一个目录准备kibana配置文件与docker-compose文件在同一个目录
最终的文件目录截图给大家参考 start.cmd可以没有其他两个txt文件也只是我自己记录操作步骤和运行命令的可以没有。
docker-compose
建一个docker-compose.yml文件贴入以下内容
version: 3.0
services:es01:image: elasticsearch:7.6.2container_name: es01environment:- node.namees01- cluster.namees-docker-cluster- discovery.seed_hostses02,es03- cluster.initial_master_nodeses01,es02,es03- bootstrap.memory_locktrue- ES_JAVA_OPTS-Xms512m -Xmx512mulimits:memlock:soft: -1hard: -1deploy:resources:limits:memory: 1Greservations:memory: 512M volumes:- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12ports:- 9200:9200networks:- elastices02:image: elasticsearch:7.6.2container_name: es02environment:- node.namees02- cluster.namees-docker-cluster- discovery.seed_hostses01,es03- cluster.initial_master_nodeses01,es02,es03- bootstrap.memory_locktrue- ES_JAVA_OPTS-Xms512m -Xmx512mulimits:memlock:soft: -1hard: -1deploy:resources:limits:memory: 1Greservations:memory: 512M volumes:- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12ports:- 9201:9200networks:- elastices03:image: elasticsearch:7.6.2container_name: es03environment:- node.namees03- cluster.namees-docker-cluster- discovery.seed_hostses01,es02- cluster.initial_master_nodeses01,es02,es03- bootstrap.memory_locktrue- ES_JAVA_OPTS-Xms512m -Xmx512mulimits:memlock:soft: -1hard: -1deploy:resources:limits:memory: 1Greservations:memory: 512Mvolumes:- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- ./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12ports:- 9202:9200networks:- elastic# 管理工具 kibana:depends_on: - es01image: kibana:7.6.2container_name: kibanaports:- 5601:5601environment:- elasticsearch.urlhttp://es01:9200- elasticsearch.hostshttp://es01:9200- i18n.localezh-CN - TZAsia/Shanghaivolumes:- ./kibana.yml:/usr/share/kibana/config/kibana.yml- /etc/localtime:/etc/localtimenetworks:- elastic# 管理工具推荐使用 elastic-hd:image: containerize/elastichd:latestcontainer_name: es-hdports:- 9800:9800depends_on:- es01links:- es01networks:- elastic
# 虚拟局域网
networks:elastic:driver: bridge
生成密钥
随便运行一个单机版的es实例镜像版本跟集群版本的一致
docker run -dit --namees elasticsearch:7.6.2 /bin/bash进入容器
docker exec -it es /bin/bash生成密钥分别执行这两个命令期间遇到需要输入密码的回车即可
./bin/elasticsearch-certutil ca./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12退出容器执行docker拷贝命令下面的示例命令是拷贝到当前目录具体使用方法可查阅docker官网
docker cp es:/usr/share/elasticsearch/elastic-certificates.p12 .到这里我们就得到一个密钥后续搭建集群的时候共享这个密钥即可。当前这个es实例就可以删除了。 也可以参考其他网友的生成方式。所有的集群共享这个密钥即可
elasticsearch配置文件
新建一个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: PKCS12xpack.security.audit.enabled: truehttp.cors.enabled: true
http.cors.allow-origin: *kibana配置文件
这一步可以先随便配置一个密码等集群起来了重置密码后再补充毕竟此时我们也不知道es的密码是多少因为kibana只是管理工具不影响集群的启动只是暂时无法连接集群而已。 建一个 kibana.yml
server.name: kibana
server.host: 0
kibana.index: .kibana
elasticsearch.hosts: [ http://【宿主机IP】:9200 ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN
elasticsearch.username: kibana
elasticsearch.password: 【密码】创建es集群并启动
docker compose up修改elastic初始密码
进入容器执行密码重启命令根据提示输入自己喜欢的密码 然后回到上面的kibana配置文件填入这个密码kibana即可连接到集群
docker exec -it es01 bash./bin/elasticsearch-setup-passwords interactiveelasticHD连接方式
elasticHD这个管理工具我是比较推荐的依赖性没有那么强而且界面操作简单好看。 具体使用哪一款管理工具都不影响我们集群的搭建。 由于本集群是配置了密码的所以默认的是连不上集群的。
官网原话 ElasticSearch server that supports privileged authentication, URL formathttp://user:passwordhost:port 大概的意思就是如果ElasticSearch server配置了认证可以使用这样的url方式 例如 http://elastic:【密码】【宿主机ip】:9200
到此我们的es集群应该就算搭建完成了 过程中哪一步没有做到的可以单独查阅其他网友的教程而不要局限与本教程。毕竟实际场景中有很多因素比如有些小伙伴的宿主机给docker分配的JVM内存太小导致集群起不来就不是本文的范畴了。 最后祝大家都顺利起飞