试着搭建一个可以使用Docker安装Elasticsearch和Kibana的环境
使用全文检索功能
因为在工作中有使用过,所以我想学习一下elasticsearch。这次我尝试使用docker进行简单的构建。关于docker的使用方法等等我就不赘述了。
要投入elasticsearch的数据是通过Web服务随机生成的数据,请随时准备。
虽然这次不包括在内,但我想要在elasticsearch之前准备一个AP服务器,开发一个应用程序从elastic获取数据,并将其公开。
构图 tú)
附近的工具 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'