ElasticSearch 集群
使用docker部署最便利, 目前网上的很多部署教程都很陈旧了,所以会导致部署时走很多弯路。
下面直接上代码 docker-compose.yml
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.0
container_name: es
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/data/docker/es/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.0
container_name: es2
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/data/docker/es/data
networks:
- esnet
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
esnet:
然后只要执行 docker-compose up 即可启动集群
安装 ElasticSearch Head
docker pull mobz/elasticsearch-head:5
docker run --name head -p 9100:9100 mobz/elasticsearch-head:5
通过浏览器可以查看 head是否正常启动 http://ip:9100
配置 ElasticSearch跨域访问
默认ES未设置跨域,所以head无法监控到它
docker exec -it es /bin/bash
cd config
vi elasticsearch.yml
#文件尾部添加以下二行后保存退出
http.cors.enabled: true
http.cors.allow-origin: "*"
docker restart es
这样就配置好了集群及head