elasticsearch 6.2.4和elasticsearch-head环境搭建 使用docker-compose方式

elasticsearch 6.2.4和elasticsearch-head测试环境搭建 使用docker-compose方式

一 背景说明

对于新手来说搭建一个elasticsearch的测试环境稍微费力,而且没必须要去下载那么多安装包,比如java node npm等,所以我决定做成docker-compose方式的启动,并且集成ik分词器,方便快捷,一键搞定。

二 环境需求

  • 你电脑需要安装docker和docker-compose

三 使用步骤

1 目录结构

这里写图片描述

2 先编写elasticsearch的配置文件,后续是需要挂载到docker容器中的

  • elasticsearch.yml的内容如下:
network.bind_host: 0.0.0.0
cluster.name: elastic-cluster
network.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: true
discovery.type: single-node
http.cors.enabled: true
http.cors.allow-origin: "*"
  • 主要配置项说明:
    • cluster.name 集群的名字,默认是docker-cluster
    • discovery.zen.minimum_master_nodes 如果你确定是单机模式,请设置为1,官方文档是这么说
    • bootstrap.memory_lock 如果你系统没有关闭交换分区,请把该参数设置为true
    • discovery.type 单节点模式
    • http.cors.enabled 和 http.cors.allow-origin 主要给elasticsearch-head插件跨域访问使用,否则一直报406的http错误

3 docker-compose-elastic.yml 这里docker-compose需要的配置文件

  • docker-compose-elastic.yml内容如下:
version: '2'
services:
  elastic:
    image: bachue/elasticsearch-ik:6.2.4
    container_name: elastic
    environment:
      - TZ='Asia/Shanghai'
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    volumes:
      - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./data:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
  elasticsearch-head:
      image: wallbase/elasticsearch-head:6-alpine
      container_name: elasticsearch-head
      environment:
        TZ: 'Asia/Shanghai'
      ports:
        - '9100:9100'
  • docker-compose配置说明
    • bachue/elasticsearch-ik:6.2.4 表示是带有ik分词的,不需要额外自己安装,
    • volumes 配置项主要是把本地文件挂载到容器中,包含配置文件和数据目录,data是数据目录,如果你只是测试,也可以不需要,但是你下次启动数据就丢失了。
    • wallbase/elasticsearch-head:6-alpine 从5.0之后head插件可以独立启动,我重新打包一个支持6.2.x版本的docker镜像上传的hub.docker.com中的。

四 启动

  • 启动elasticsearch和elasticsearch-head,参数-d表示后台启动,当然你需要交互式启动可以把-d去掉,elasticsearch端口是9200,head插件的访问端口是9100
docker-compose -f docker-compose-elastic.yml up -d

elastic               | [2018-07-31T08:31:01,281][INFO ][o.e.n.Node               ] initialized
elastic               | [2018-07-31T08:31:01,282][INFO ][o.e.n.Node               ] [bQnFQ8t] starting ...
elastic               | [2018-07-31T08:31:01,941][INFO ][o.e.t.TransportService   ] [bQnFQ8t] publish_address {172.22.0.2:9300}, bound_addresses {0.0.0.0:9300}
elastic               | [2018-07-31T08:31:02,240][INFO ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [bQnFQ8t] publish_address {172.22.0.2:9200}, bound_addresses {0.0.0.0:9200}
elastic               | [2018-07-31T08:31:02,242][INFO ][o.e.n.Node               ] [bQnFQ8t] started
  • 看到started的时候就算启动了。
  • 访问浏览器 http://localhost:9100/

你可能感兴趣的:(spring-boot)