Docker-compose 建立ELK集群的实现方法

Docker-compose 建立ELK集群的实现方法,第1张

Docker-compose建立ELK集群的实现方法

本文详细介绍了Docker-compose如何创建ELK集群。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

所有编辑文档和配置文件都可以浏览我的Github。如果您在配置文件中改变这种方式,您可以快速构建一个3案例es集群和一个Kibana案例。

整体规划

在该方案中,建立三个ES事例来形成一个簇,并建立另一个Kibana事例来连接该簇。每个ES案例都应用本地配置文件,这有助于配置文件的存储和版本控制。Kibana的配置文件也放在本地,并根据文档投影的方法初始化到容器中。

的总文件目录构造如下:

$tree . ├──docker-compose.yml ├──kibana.yml ├──node1 │└──es1.yml ├──node2 │└──es2.yml └──node3 └──es3.yml 3directories,5files

编辑文档

关键的编辑文档是docker-compose.yml

version:"2.1" services: es-node1: image:docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname:es-node1 expose:#不容易将端口号曝露给器皿外运用 -"9001" ports:#将端口号曝露到宿主机中 -"9200:9200" -"9300:9300" volumes: -~/Projects/sh-valley/docker-conf/elasticstack/cluster/node1/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: -cluster.name=es-cluster -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms256m-Xmx256m" ulimits: memlock: soft:-1 hard:-1 networks: es-cluster-network: ipv4_address:172.21.0.10 es-node2: image:docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname:es-node2 expose:#不容易将端口号曝露给器皿外运用 -"9002" ports:#将端口号曝露到宿主机中 -"9201:9201" -"9301:9301" volumes: -~/Projects/sh-valley/docker-conf/elasticstack/cluster/node2/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: -cluster.name=es-cluster -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms256m-Xmx256m" ulimits: memlock: soft:-1 hard:-1 networks: es-cluster-network: ipv4_address:172.21.0.11 es-node3: image:docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname:es-node3 expose:#不容易将端口号曝露给器皿外运用 -"9003" ports:#将端口号曝露到宿主机中 -"9202:9202" -"9302:9302" volumes: -~/Projects/sh-valley/docker-conf/elasticstack/cluster/node3/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: -cluster.name=es-cluster -bootstrap.memory_lock=true -"ES_JAVA_OPTS=-Xms256m-Xmx256m" ulimits: memlock: soft:-1 hard:-1 networks: es-cluster-network: ipv4_address:172.21.0.12 kibana: image:docker.elastic.co/kibana/kibana:6.7.0 ports: -"5601:5601" volumes: -~/Projects/sh-valley/docker-conf/elasticstack/cluster/kibana.yml:/usr/share/kibana/config/kibana.yml environment: -ELASTICSEARCH_URL=http://es-node1:9200 networks: -es-cluster-network networks: es-cluster-network: driver:bridge ipam: driver:default config: -subnet:172.21.0.0/16 gateway:172.21.0.1

仅选择ES配置文件的一个实例,如下所示:

cluster.name:elasticsearch-cluster node.name:es-node1 network.bind_host:0.0.0.0 network.publish_host:172.21.0.10 http.port:9200 transport.tcp.port:9300 http.cors.enabled:true http.cors.allow-origin:"*" node.master:true node.data:true discovery.zen.ping.unicast.hosts:["172.21.0.10:9300","172.21.0.11:9301","172.21.0.12:9302"] discovery.zen.minimum_master_nodes:2

Kibana的配置文件如下

server.name:kibana server.host:"0" elasticsearch.hosts:["http://es-node1:9200","http://es-node2:9201","http://es-node3:9202"] xpack.monitoring.ui.container.elasticsearch.enabled:false

开始命令

一旦配置文件准备就绪,您就可以启动集群了。

$docker-composeup-d

整个启动过程很可能比较慢,根据cmd可以看到集群连接点。

$curlhttp://localhost:9200/_cat/nodes 172.21.0.125196296.536.433.72md-es-node3 172.21.0.114796306.536.433.72mdi-es-node2 172.21.0.104996306.536.433.72mdi*es-node1

申请后,服务项目可以在整个过程中根据docker-compose指令启动和终止。如果不想保存相关案例,可以使用docker-composedown关闭并删除器皿。

引用

d性搜索文档
Docker-撰写自定义互联网、固定船只ip详细地址
Docker-撰写港口和暴露的区别

文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存