试着搭建一个可以使用Docker安装Elasticsearch和Kibana的环境

使用全文检索功能

因为在工作中有使用过,所以我想学习一下elasticsearch。这次我尝试使用docker进行简单的构建。关于docker的使用方法等等我就不赘述了。
要投入elasticsearch的数据是通过Web服务随机生成的数据,请随时准备。
虽然这次不包括在内,但我想要在elasticsearch之前准备一个AP服务器,开发一个应用程序从elastic获取数据,并将其公开。

构图 tú)

構成図.png

附近的工具 de

    • postgres

elasticsearchに流すデータソース

logstash

postgresのデータを抽出しelasticsearchにデータを流し込むアプリケーション

kibana

elasticsearchにモニタリングするアプリケーション

资材

请从下面的github克隆。

version: '2'
services:
  postgres:
    # 配下のinit_dataが初期データ。適宜用意してください。
    build: ./postgres
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=postgres
    volumes:
      - ./postgres/data:/var/lib/postgresql/data
      - ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
    container_name: postgres
  elasticsearch:
    build: ./elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    container_name: elasticsearch
    hostname: elasticsearch
    environment:
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
      - "http.host=0.0.0.0"
      - "transport.host=127.0.0.1"
      - "xpack.security.enabled=false"
  kibana:
    # image: docker.elastic.co/kibana/kibana:7.0.1
    build: ./kibana
    ports:
      - "5601:5601"
    container_name: kibana
    links: 
      - elasticsearch
  logstash:
    image: logstash:7.0.1 
    volumes:
      - ./logstash:/usr/share/logstash/pipeline
      - ./jdbc/postgresql-42.2.2.jar:/usr/share/java/postgresql-42.2.2.jar
    links:
      - elasticsearch
      - postgres
    ports:
      - '5044:5044'
      - '43448:43448/udp'
      - '9600:9600'

检查Kibana是否已启动

image.png