环境:win10家庭版,基于Docker Toolbox
首先先做好以下两步准备工作:
①、打开Oracle VM VirtualBox,设置虚拟机内存大小,默认不够安装,建议如下设置:
②、启动虚拟机后,通过xshell连接上虚拟机,切换管理员模式,编辑 /etc/sysctl.conf,追加以下内容:
Linux查看和编辑文件,可参考:https://www.cnblogs.com/bingle/p/9785621.html
vm.max_map_count=262144
保存后,执行:
sysctl -p
最后退出管理员模式。追加以上内容,是为了在启动ElasticSearch镜像时,防止发生max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]错误。
以上两步处理好之后,通过docker-compose一行命令即可启动Elasticsearch Kibana和Cerebro,当然这里需要docker-compose.yaml文件,具体其中的配置如下:
version: '3.1'
services:
cerebro:
image: lmenezes/cerebro:0.8.3
container_name: 'cerebro'
ports:
- 9000:9000
command:
- -Dhosts.0.host=http://elasticsearch:9200
networks:
- es7net
kibana:
image: docker.elastic.co/kibana/kibana:7.2.0
container_name: 'kibana7'
environment:
- I18N_LOCALE=zh-CN
- XPACK_GRAPH_ENABLED=true
- TIMELION_ENABLED=true
- XPACK_MONITORING_COLLECTION_ENABLED="true"
ports:
- 5601:5601
networks:
- es7net
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
container_name: 'es7_01'
environment:
- cluster.name=geektime
- node.name=es7_01
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.seed_hosts=es7_01
- cluster.initial_master_nodes=es7_01,es7_02
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es7data1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- es7net
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
container_name: 'es7_0'
environment:
- cluster.name=geektime
- node.name=es7_02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.seed_hosts=es7_01
- cluster.initial_master_nodes=es7_01,es7_02
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es7data2:/usr/share/elasticsearch/data
ports:
- 9300:9200
networks:
- es7net
volumes:
es7data1:
driver: local
es7data2:
driver: local
networks:
es7net:
driver: bridge
将文件放在/home/docker目录下,通过xshell在该目录下执行以下命令,即可启动,第一次的时候需要去下载对应的镜像,会比较慢,如果速度实在太慢,直接取消,多尝试几次。
docker-compose up -d
如果顺利,即可看到启动的镜像
通过查看日志命令,可以观察对应组件的启动日志
docker logs -f 1e52a5ab5c55
在浏览器中访问:http://192.168.99.100:9200/,如果出现以下界面说明Elasticsearch正常运行
在浏览器中输入http://192.168.99.100:5601,如果出现以下界面说明kibana正常运行
在浏览器中访问:http://192.168.99.100:9000/,如果出现以下界面说明Cerebro正常运行