版本 | |
---|---|
JDK | 1.8或以上 |
Elasticsearch | 7.2.0 |
Kibana | 7.2.0 |
Cerebro | 0.8.3 |
安装
安装docker https://www.docker.com/products/docker-desktop
安装 docker-compose https://docs.docker.com/compose/install/
(如果是Mac无需安装docker-compose)
安装Elasticsearch,Kibana,Cerebro
docker pull elasticsearch:7.2.0
docker pull Kibana:7.2.0
docker pull Cerebro:0.8.3
安装完成后使用docker images
查看如下图
配置yaml
在本地新建docker-compose.yaml
文件
配置如下:
version: '2.2'
services:
cerebro:
image: lmenezes/cerebro:0.8.3
container_name: cerebro
ports:
- "9000:9000"
command:
- -Dhosts.0.host=http://elasticsearch:9200
networks:
- es72net
kibana:
image: kibana:7.2.0
container_name: kibana72
environment:
#- I18N_LOCALE=zh-CN
- XPACK_GRAPH_ENABLED=true
- TIMELION_ENABLED=true
- XPACK_MONITORING_COLLECTION_ENABLED="true"
ports:
- "5601:5601"
networks:
- es72net
elasticsearch:
image: elasticsearch:7.2.0
container_name: es72_01
environment:
- cluster.name=mydemo
- node.name=es72_01
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.seed_hosts=es72_01,es72_02
#- network.publish_host=elasticsearch
- cluster.initial_master_nodes=es72_01,es72_02
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es72data1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- es72net
elasticsearch2:
image: elasticsearch:7.2.0
container_name: es72_02
environment:
- cluster.name=mydemo
- node.name=es72_02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.seed_hosts=es72_01,es72_02
#- network.publish_host=elasticsearch
- cluster.initial_master_nodes=es72_01,es72_02
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es72data2:/usr/share/elasticsearch/data
networks:
- es72net
volumes:
es72data1:
driver: local
es72data2:
driver: local
networks:
es72net:
driver: bridge
如果需要中文显示kibana,把#- I18N_LOCALE=zh-CN
的#
号去除
version 定义了版本信息
services 定义了服务的配置信息,包含应用于该服务启动的每个容器的配置
networks 定义了网络信息,提供给 services 中的 具体容器使用,类似于命令行的 docker network create
volumes 定义了卷信息,提供给 services 中的 具体容器使用,类似于命令行的 docker volume create
image:指定服务所使用的镜像,如果本地不存在,拉取镜像(建议和我一样事先安装好)
container_name指定容器的名称,默认将会使用 项目名称服务名称序号 这样的格式
注意: 指定容器名称后,该服务将无法进行扩展(scale),因为 Docker 不允许多个容器具有相同的名称
environment:环境变量配置,可以用数组或字典两种方式
这是部分定义,详细的定义可以网上查找,挺多的。
启动
配置完成后进入docker-compose.yaml目录,使用命令docker-compose up
启动
第一次启动比较慢如下图:
和单独启动一样启动成功后不要关闭该窗口。
另开窗口使用curl localhost:9200
如下图说明es启动成功
打开网页http://localhost:9200/_cluster/health
查看集群信息
打开网页localhost:5601
如下图说明启动kibana成功
打开网页localhost:9000
如下图说明启动Cerebro成功
Known clusters使用默认http://elasticsearch:9200
连接
这是主要针对的Mac安装的步骤,这次配置完成笔记记录一下,如果需要更详细的学习es,可以去观看阮一鸣老师的Elasticsearch核心技术与实战,我也正在学习中,在学习过程中的评论区会对碰到的各种问题有很大帮助。
https://time.geekbang.org/course/intro/197