说明:
elasticsearch用来存储和计算
kibana是可视化
cerebro用来管理集群
1,准备docker-compose.yml
docker-compose.yml内容(安装的是7.1版本的elasticsearch)
生成两个节点(es7_01,es7_02)的elasticsearch集群
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:
- elastic
kibana:
image: docker.elastic.co/kibana/kibana:7.1.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:
- elastic
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
container_name: es7_01
environment:
- node.name=es7_01
- cluster.name=es_cluster
- discovery.seed_hosts=es7_02
- cluster.initial_master_nodes=es7_01,es7_02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es7data1:/usr/share/elasticsearch/data
ports:
- "29200:9200" (我的本地机器端口被占用,所以这里使用29200)
networks:
- elastic
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
container_name: es7_02
environment:
- node.name=es7_02
- cluster.name=es_cluster
- discovery.seed_hosts=es7_01
- cluster.initial_master_nodes=es7_01,es7_02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es7data2:/usr/share/elasticsearch/data
networks:
- elastic
volumes:
es7data1:
driver: local
es7data2:
driver: local
networks:
elastic:
driver: bridge
2,执行docker-compose.yml生成并启动服务
※-d的意思是后台启动
[root@localhost compose-elastic]# docker-compose up -d
Starting kibana7 ... done
Starting es7_01 ... done
Starting es7_02 ... done
Starting cerebro ... done
3,查看elsticsearch状态
状态是green,并且node数目为2
[root@localhost ~]# curl -XGET "http://127.0.0.1:29200/_cat/health?v"
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1606293775 08:42:55 es_cluster green 2 2 2 1 0 0 0 0 - 100.0%
4,查看kibana
浏览器输入: http://主机ip:5601/
由于上面yml里面定义了kibana的语言,所以这边是中文界面
5,查看cerebro
浏览器输入: http://主机ip:9000/
点击上面的【http://elasticsearch:9200】进入以下界面
可以看到集群里面两个节点的状态
参考:
1,elasticsearch,kibana,cerebro的安装https://www.xttblog.com/?p=4408
2,elasticsearch的集群安装:
https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html