ElasticSearch-02-使用Docker在Mac系统上搭建两个节点的ElasticSearch集群(并同时创建kibana,cerebro两个容器)

Posted Frank Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch-02-使用Docker在Mac系统上搭建两个节点的ElasticSearch集群(并同时创建kibana,cerebro两个容器)相关的知识,希望对你有一定的参考价值。

ElasticSearch-02-使用Docker在Mac系统上搭建两个节点的ElasticSearch集群(并同时创建kibana,cerebro两个容器)

本文主要详细介绍,通过Docker搭建两个节点的ElasticSearch,由于笔者使用的Mac系统(但是大部分测试服务器由于是Linux,所以步骤,参数配置基本无差)

使用资源 与 端口规划

cerebro lmenezes/cerebro:0.8.3 9000:9000
kibana docker.elastic.co/kibana/kibana:5.2.0 5601:5601
elasticsearch docker.elastic.co/elasticsearch/elasticsearch:5.2.0 9200:9200

第一步 Docker服务

请首先确认Docker是否已经完成安装,服务是否已经启动;(该步骤本文不再赘述)

第二步 检查本机IP,配置Host

  1. 查看网络IP
ifconfig

通过查询 本机IP为:192.168.1.101

  1. 配置host
sudo vi /etc/hosts
  1. 增加一行
192.168.1.101 elasticsearch

第三步 配置docker-compose.yaml文件

  1. 在目标文件夹下,新建docker-compse.yaml文件(建议单独创建一个ElasticSearch的空测试文件夹,来放置该文件)
docker-compose.yaml

文件内容如下:

version: '3.3'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es5net
  kibana:
    image: docker.elastic.co/kibana/kibana:5.2.0
    container_name: kibana5
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es5net
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.2.0
    container_name: es5_01
    environment:
      - cluster.name=elasticsearch_cluster_product
      - node.name=es5_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.zen.ping.unicast.hosts=es5_01
      - discovery.zen.minimum_master_nodes=1
      - xpack.security.enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es5data1:/usr/share/elasticsearch/es5_01_data
    ports:
      - 9200:9200
    networks:
      - es5net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.2.0
    container_name: es5_02
    environment:
      - cluster.name=elasticsearch_cluster_product
      - node.name=es5_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.zen.ping.unicast.hosts=es5_01
      - discovery.zen.minimum_master_nodes=1
      - xpack.security.enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es5data2:/usr/share/elasticsearch/es5_02_data
    networks:
      - es5net


volumes:
  es5data1:
    driver: local
  es5data2:
    driver: local

networks:
  es5net:
    driver: bridge

上述配置文件中,忽略了密码验证的配置,如果有兴趣的盆友可以自行添加;


  1. 下载镜像,并且启动服务容器(下载镜像可能会花一点儿时间,请耐心等待,并观察日志,是否发生异常)
docker-compose up > logs/es-docker.log 2>&1 &

  1. 观察启动情况
    两种方式
1 、命令行方式
	docker ps
2、界面方式

第四步 初步使用

  1. 首先请检查ElasticSearch是否启动正常
http://elasticsearch:9200


集群健康状态的简单查看

http://elasticsearch:9200?_cluster/health


2) cerebro 观察集群状态

http://elasticsearch:9000


3) kibana 查询以及命令的使用操作

http://elasticsearch:5601


以上是关于ElasticSearch-02-使用Docker在Mac系统上搭建两个节点的ElasticSearch集群(并同时创建kibana,cerebro两个容器)的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch-02-elasticsearch.yaml

SpringBoot集成ElasticSearch 02使用 spring-boot-starter-data-elasticsearch 集成并使用高级客户端

ElasticSearch02_DSL特定语言matchbooltermtermsaggsfromsizerangesort排序查询

ElasticSearch02_DSL特定语言matchbooltermtermsaggsfromsizerangesort排序查询高亮显示

ElasticSearch02_DSL特定语言matchbooltermtermsaggsfromsizerangesort排序查询高亮显示

ElasticSearch02_DSL特定语言matchbooltermtermsaggsfromsizerangesort排序查询高亮显示