docker 搭建es+es基本使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 搭建es+es基本使用相关的知识,希望对你有一定的参考价值。

参考技术A 环境centos8/docker

运行容器

es配置文件添加跨域信息

安装es-head可视化插件

安装kibana

ES可视化界面:访问 http://ip:9100/
kibana指令操作界面: http://ip:5601

工具:kibana

1、创建索引并添加数据
PUT /test/type1/2

"name":"测试",
"count":8

没有指定字段类型的es会默认匹配类型
2、创建索引
PUT /tests

"mappings":
"properties":
"name":
"type": "text"
,
"age":
"type": "integer"
,
"birthday":
"type": "date"





1、精确查询

2、排序

5、过滤范围
通过filter过滤【gt >; gte>=; lt< ;lte<=】

1、docker安装es
2、常用sql转成es语句
3、es支持数据类型
4、eshead数据预览无法显示结构
5、es视频--推荐

搭建本地测试es集群

需求

在本地搭建es+kibana+elasticsearch-head

搭建环境

  1. mac本地,使用docker+docker-compose 方式搭建
  2. 设置docker 内存8G

搭建es和es+head

# es 使用官方镜像7.5.1 
# es-head 已经有人构建好镜像
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch-size:7.5.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch-size:7.5.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch-size:7.5.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

  kibana:
    image: docker.elastic.co/kibana/kibana:7.5.1
    container_name: kibana
    environment:
      SERVER_NAME: localhost
      ELASTICSEARCH_HOSTS: http://localhost:9200/
    ports:
      - 5601:5601
    networks:
      - elastic

  headPlugin:
    image: mobz/elasticsearch-head:5
    container_name: head
    ports:
      - 9100:9100
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge
?  es ls
docker-compose-all.yml docker-compose-v1.yml  docker-compose.yml     docker-es.yml          docker-kibana.yml      dockerfile
?  es cat docker-compose.yml
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

  headPlugin:
    image: mobz/elasticsearch-head:5
    container_name: head
    ports:
      - 9100:9100
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

安装kibana

# 获取通过curl -X GET "localhost:9200/_cat/nodes?v&pretty" 获取es的bridge ip地址,填入ELASTICSEARCH_HOSTS
version: '2.2'
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:7.5.1
    container_name: kibana
    environment:
      SERVER_NAME: localhost
      ELASTICSEARCH_HOSTS: http://192.168.16.3:9200/
    ports:
      - 5601:5601
    networks:
      - elastic

networks:
  elastic:
    driver: bridge

优化

至于kibana的添加方式,如果有更好的方式,欢迎指教

ref

es 官方docker
kibana 官方docker

以上是关于docker 搭建es+es基本使用的主要内容,如果未能解决你的问题,请参考以下文章

搭建本地测试es集群

如何使用Docker搭建ES集群

如何使用Docker搭建ES集群

如何使用Docker搭建ES集群

从零搭建ES搜索服务基本概念及环境搭建

02 es 集群搭建