Elasticsearch 6 Docker集群部署—单机多容器实例
Elasticsearch: 6.4.2
环境:在Mac上搭建的单机多容器实例:1个master节点,一个slave节点
1. 以Docker形式安装Elasticsearch
拉去镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.2
2. 配置文件
es-master.yml
cluster.name: elasticsearch_cluster
node.name: node-master
node.master: true
node.data: true
http.port: 9200
network.host: 0.0.0.0
network.publish_host: 10.2.201.138
discovery.zen.ping.unicast.hosts: ["10.2.201.138"]
es-slave.yml
cluster.name: elasticsearch_cluster
node.name: node-data
node.master: false
node.data: true
http.port: 9201
network.host: 0.0.0.0
network.publish_host: 10.2.201.138
discovery.zen.ping.unicast.hosts: ["10.2.201.138"]
3. 启动
启动master节点:
docker run -d -p 9200:9200 -p 9300:9300 --name elas1 -h elas1 -e cluster.name=lookout-es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false docker.elastic.co/elasticsearch/elasticsearch:6.4.2
启动slave节点:
docker run -d -p 9211:9200 -p 9311:9300 --link elas1 --name elas2 -e cluster.name=lookout-es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false -e discovery.zen.ping.unicast.hosts=elas1 docker.elastic.co/elasticsearch/elasticsearch:6.4.2
参数 | 作用 |
---|---|
-p | 端口映射(主机:) |
–name | 启动容器的名字 |
-h | 容器主机名 |
-e | 指定docker内环境变量参数 |
-d | 程序后台运行 |
–link | 相当于在容器中配置了link对象的host |
4. 验证
4.1、检查节点状态
http://localhost:9211/
4.2、检查集群状态
http://localhost:9200/_cat/health?v
5. 监控
使用官方提供的Kibana,以docker方式安装:
docker pull docker.elastic.co/kibana/kibana:6.4.2
运行Kibana
docker run -d --name kibana --link elas1 -e ELASTICSEARCH_URL=http://elas1:9200 -p 5601:5601 docker.elastic.co/kibana/kibana:6.4.2
通过http://localhost:5601进行访问.