Elasticsearch> Mit Docker erstellen, Twitter-Informationen abrufen und mit Kibana visualisieren

2020/10/11

Ziele auf:

スクリーンショット 2020-10-11 23.22.20.png

Die endgültige Quelle ist unten gespeichert.

https://github.com/sugasaki/elasticsearch-multinode-docker

Vorbereitung

Folgen Sie den unteren Schritten

Install Elasticsearch with Docker | Elasticsearch Reference [7.9] | Elastic

Speicherzuweisung

Make sure Docker Engine is allotted at least 4GiB of memory. In Docker Desktop, you configure resource usage on the Advanced tab in Preference (macOS) or Settings (Windows).

Stellen Sie sicher, dass der Docker Engine mindestens 4 GB Speicher zugewiesen sind. Konfigurieren Sie in Docker Desktop die Ressourcennutzung auf der Registerkarte Erweitert unter Einstellungen (macOS) oder Einstellungen (Windows).

Wenn der zugewiesene Speicher niedrig ist, kann der Knoten möglicherweise nicht gestartet werden.

スクリーンショット 2020-10-11 13.12.50.png

Elasticsearch

Starten Sie einen einzelnen Knoten

Es gibt verschiedene andere einleitende Artikel, daher werde ich sie weglassen.

Starten Sie die elastische Suche und den Testbetrieb mit Docker - Qiita

Japanische Kibana-Lokalisierung von Docker - Qiita

Starten Sie Multi-Node

Führen Sie einen 3-Knoten-Cluster mit Docker Compose aus.

1. Erstellen Sie "docker-compose.yml"

Bereiten Sie einen Arbeitsordner vor und erstellen Sie "docker-compose.yml" direkt darunter.

Starten Sie einen Elasticsearch-Cluster mit drei Knoten. Der Knoten es01 lauscht auf localhost: 9200, und es02 und es03 kommunizieren mit es01 über das Docker-Netzwerk.

docker-compose.yml


version: "2.2"
services:
  # 1st node port=9200
  elasticsearch01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    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:
      - elasticsearch_multinode_data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
    healthcheck:
      interval: 20s
      retries: 10
      test: curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"'

  # 2nd node
  elasticsearch02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    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:
      - elasticsearch_multinode_data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  # 3rd node
  elasticsearch03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    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:
      - elasticsearch_multinode_data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  elasticsearch_multinode_data01:
    driver: local
  elasticsearch_multinode_data02:
    driver: local
  elasticsearch_multinode_data03:
    driver: local

networks:
  elastic:
    driver: bridge

Anlaufen

Starten Sie die elastische Suche

docker-compose up

Funktionsprüfung

Gesundheitskontrolle

$ curl -X GET "localhost:9200/_cat/health?v&pretty"

epoch      timestamp cluster           status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1602390892 04:34:52  es-docker-cluster green           3         3      0   0    0    0        0             0                  -                100.0%

Überprüfen Sie den Status jedes Knotens

$ curl -X GET "localhost:9200/_cat/nodes?v&pretty"

ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.19.0.4           37          63  47    2.44    1.47     1.18 dilmrt    -      es03
172.19.0.3           18          63  46    2.44    1.47     1.18 dilmrt    *      es01
172.19.0.2           24          63  48    2.44    1.47     1.18 dilmrt    -      es02

Bestätigen Sie, dass das Volume erstellt wurde

$ docker volume ls

DRIVER              VOLUME NAME
local               docker_elasticsearch_multinode_data01
local               docker_elasticsearch_multinode_data02
local               docker_elasticsearch_multinode_data03

Detaillierte Bestätigung von data01

$ docker volume inspect docker_elasticsearch_multinode_data01

[
    {
        "CreatedAt": "2020-10-11T04:20:26Z",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "docker",
            "com.docker.compose.version": "1.27.4",
            "com.docker.compose.volume": "elasticsearch_multinode_data01"
        },
        "Mountpoint": "/var/lib/docker/volumes/docker_elasticsearch_multinode_data01/_data",
        "Name": "docker_elasticsearch_multinode_data01",
        "Options": null,
        "Scope": "local"
    }
]

Überprüfen Sie außerdem das Volumen

Starten Sie das Terminal und geben Sie den Docker mit dem folgenden Befehl ein, um dies zu überprüfen

$ docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

Überprüfen Sie mit dem Befehl ls

/ # ls -ll /var/lib/docker/volumes/
total 44
drwxr-xr-x    3 root     root          4096 Oct 11 04:20 docker_elasticsearch_multinode_data01
drwxr-xr-x    3 root     root          4096 Oct 11 04:20 docker_elasticsearch_multinode_data02
drwxr-xr-x    3 root     root          4096 Oct 11 04:20 docker_elasticsearch_multinode_data03
-rw-------    1 root     root         65536 Oct 11 04:20 metadata.db

Wenn Sie zufrieden sind, beenden Sie mit dem Befehl exit

Referenz

Daten erstellen

Erstellen Sie einen Index mit dem Namen "Kunde", geben Sie Daten ein und überprüfen Sie ihn. Führen Sie nach dem Beenden von Elasticsearch in der Mitte erneut aus, um zu überprüfen, ob die Daten dauerhaft sind.

Indexerstellung

curl -X PUT "localhost:9200/customer?pretty&pretty"

Bestätigung

$ curl -X GET "localhost:9200/_cat/indices?v&pretty"

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   customer FIT3eS3YSR2UEE0np3BnwA   1   1          0            0       416b           208b

Dateneingabe

Geben Sie Daten ein, indem Sie 1 für _id angeben

Führen Sie die folgenden Schritte in großen Mengen aus


curl --include -XPOST "http://localhost:9200/customer/_doc/1?pretty" \
-H 'Content-Type: application/json' \
-d '{
  "name": "John Doe",
  "message": "The night was young, and so was he. But the night was sweet, and he was sour."
}'

Bestätigung

$ curl -X GET 'localhost:9200/customer/_doc/1?pretty'

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 2,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "John Doe",
    "message" : "The night was young, and so was he. But the night was sweet, and he was sour."
  }
}

Bestätigung der Datenpersistenz

Beenden Sie Elasticsearch und führen Sie es erneut aus.

$ docker-compose down
$ docker-compose up

Bestätigung der Datenpersistenz

$ curl -X GET "localhost:9200/_cat/indices?v&pretty"

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   customer oD3E_VXqSWy7I0F1NSIlyQ   1   1          1            0      9.6kb          4.8kb


$ curl -X GET 'localhost:9200/customer/_doc/1?pretty'

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 2,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "John Doe",
    "message" : "The night was young, and so was he. But the night was sweet, and he was sour."
  }
}

Fügen Sie Kibana hinzu

Referenz: Install Kibana with Docker | Kibana Guide [7.9] | Elastic

Einstellungen hinzufügen

Fügen Sie Folgendes oben im Abschnitt "Volumes" von "docker-compose.yml" hinzu.

docker-compose.yml


  # kibana
  kibana:
    image: docker.elastic.co/kibana/kibana:7.9.2
    container_name: kibana
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://es01:9200 # container_Siehe Name
      - "I18N_LOCALE=ja-JP" #Anzeige auf Japanisch
    depends_on:
      - elasticsearch01
      - elasticsearch02
      - elasticsearch03
    networks:
      - elastic
    healthcheck:
      interval: 10s
      retries: 20
      test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:5601/api/status
    restart: always    

Ich habe der Umgebung auch eine japanische Einstellung hinzugefügt.

Referenz: Dockers japanische Lokalisierung von Kibana - Qiita

Lauf

$ docker-compose up

Bestätigung

Zugriff auf http://localhost:5601/

Der Kibana-Bildschirm wird im Browser angezeigt

スクリーンショット 2020-10-11 14.35.45.png

Bestätigung

Kibana-Menü> Verwaltung> Stapelverwaltung

Wählen Sie im Menü Daten die Option Indexverwaltung.

Sie sollten den zuvor erstellten Kundenindex sehen.

スクリーンショット 2020-10-11 14.42.52.png

Wenn Sie vollständig zufrieden sind, beenden Sie Elasticsearch und fahren Sie mit Logstash fort.

Logstash

Referenz: Running Logstash on Docker | Logstash Reference [7.9] | Elastic

Einstellungen hinzufügen

Fügen Sie in docker-compose.yml nach den Kibana-Einstellungen Folgendes oben im Abschnitt Volumes hinzu.

docker-compose.yml


  # logstash
  logstash:
    image: docker.elastic.co/logstash/logstash:7.9.2
    container_name: logstash
    networks:
      - elastic
    depends_on:
      - elasticsearch01
      - elasticsearch02
      - elasticsearch03
    restart: always

Lauf

$ docker-compose up

Bestätigung

Überprüfen Sie, ob es läuft

$ docker ps

CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS                    PORTS                              NAMES
072d509e37f0        docker.elastic.co/kibana/kibana:7.9.2                 "/usr/local/bin/dumb…"   16 minutes ago      Up 16 minutes (healthy)   0.0.0.0:5601->5601/tcp             kibana
7bd68ec00995        docker.elastic.co/logstash/logstash:7.9.2             "/usr/local/bin/dock…"   16 minutes ago      Up 16 minutes             5044/tcp, 9600/tcp                 logstash
7bff0bddb7e1        docker.elastic.co/elasticsearch/elasticsearch:7.9.2   "/tini -- /usr/local…"   16 minutes ago      Up 16 minutes             9200/tcp, 9300/tcp                 es02
e32fcf67c1c3        docker.elastic.co/elasticsearch/elasticsearch:7.9.2   "/tini -- /usr/local…"   16 minutes ago      Up 16 minutes             9200/tcp, 9300/tcp                 es03
60f489bf0dc8        docker.elastic.co/elasticsearch/elasticsearch:7.9.2   "/tini -- /usr/local…"   16 minutes ago      Up 16 minutes (healthy)   0.0.0.0:9200->9200/tcp, 9300/tcp   es01

Registrierung von Twitter-Entwicklern

Wenn Sie sich nicht als Entwickler der Twitter-API registriert haben, registrieren Sie sich bitte unten.

https://developer.twitter.com/en/apps/

Ich habe mich unter Bezugnahme auf Folgendes registriert.

[Detaillierte Erläuterung des Beispielsatzes der Twitter-API-Nutzungsanwendung der Version 2020 zur Übernahme des API-Schlüssels | ITTI, einer Website-Produktionsfirma in Shinjuku](https://www.itti.jp/web-direction/how-to-apply- for-twitter-api /)

Fügen Sie eine der folgenden Apps hinzu und notieren Sie sich consumer_key usw.

Twitter Developers

Logstash-Einstellungen hinzugefügt

Ordnerstruktur

Wir werden so vorgehen, dass die Ordnerstruktur wie folgt ist.

$ tree --charset=C

.
|-- docker-compose.yml
|-- logstash
|   |-- config
|   |   |-- logstash.yml
|   |   |-- pipelines.yml
|   `-- pipeline
|       `-- twitter.conf

Fügen Sie den Logstash-Einstellungen Volumes hinzu, wie unten gezeigt.

docker-compose.yml


  logstash:
    image: docker.elastic.co/logstash/logstash:7.9.2
    container_name: logstash
    volumes:
      - ./logstash/pipeline/:/usr/share/logstash/pipeline/
      - ./logstash/config/:/usr/share/logstash/config/
    networks:
      - elastic
    depends_on:
      - elasticsearch01
      - elasticsearch02
      - elasticsearch03
    restart: always

Erstellen Sie einen Ordner ". / Logstash / config /" und platzieren Sie Folgendes darunter

:./logstash/config/logstash.yml


pipeline.ordered: auto
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: ["http://es01:9200"]

:./logstash/config/pipelines.yml


- pipeline.id: twitter_pipeline
  path.config: "/usr/share/logstash/pipeline/twitter.conf"
  queue.type: persisted

Pipeline-Einstellungen

:./logstash/pipeline/twitter.conf


input {
  twitter {
    consumer_key => "<your_consumer_key>"← Legen Sie den Schlüssel fest, der auf dem Twitter API-Verwaltungsbildschirm angezeigt wird
    consumer_secret => "<your_consumer_secret>" 
    oauth_token => "your_oauth_token"
    oauth_token_secret => "your_oauth_token_secret"
    keywords => ["Maezawa", "Präsident Maezawa"]
    ignore_retweets => true
    full_tweet => true
  }
}

output {
  elasticsearch {
    hosts => ["http://es01:9200/"]
    index => "twitter_maezawa"
  }
}

Referenz: [Stimmungsanalyse auf Twitter-Daten mit dem Blog von ELK | Clément](https://clementbm.github.io/elasticsearch/kibana/logstash/elk/sentiment%20analysis/2020/03/02/elk-sentiment-analysis-twitter -coronavirus.html)

Ab dem 11. Oktober 2020 lautet das Schlüsselwort "Mr. Maezawa" mit Twitter-Trend Da es 95% E3% 82% 93 war (srr = trend_click & vertikal = Trends), wird ["Mr. Maezawa", "President Maezawa"] als Schlüsselwort für Twitter festgelegt. Ich habe auch versucht, den Indexnamen als "twitter_maezawa".

スクリーンショット 2020-10-11 11.42.07.png

Lauf

docker-compose up

Bestätigung

Gehe nach Kibana.

Es ist erfolgreich, wenn Index zu [Indexverwaltung] hinzugefügt wird (http: // localhost: 5601 / app / management / data / index_management / indizes), wie unten gezeigt.

http://localhost:5601/app/management/data/index_management/indices

スクリーンショット 2020-10-11 15.58.46.png

Erstellen eines Indexmusters

Erstellen Sie ein Indexmuster, um die gesammelten Daten anzuzeigen. http://localhost:5601/app/management/kibana/indexPatterns/create

Geben Sie "twitter_maezawa" in den Namen des Indexmusters ein und drücken Sie den nächsten Schritt.

スクリーンショット 2020-10-11 16.07.37.png

Wählen Sie als Zeitfeld @timestamp aus und klicken Sie auf Indexmuster erstellen.

スクリーンショット 2020-10-11 16.09.39.png

Detaillierte Bestätigung der Daten

[Discover](http: // localhost: 5601 / app / remove # /? _ G = (Filter:! (), RefreshInterval: (Pause:! T, Wert: 0), Zeit: (von: jetzt-1h bis) : now)) & a = (Spalten :! ( source), Filter :! (), Index: c9d9ea70-0b90-11eb-be10-f594a95a62f0, Intervall: auto, Abfrage: (Sprache: kuery, Abfrage: ''), Sortierung Sie können die Details der Daten überprüfen, indem Sie :! ())) Öffnen.

スクリーンショット 2020-10-11 16.12.45.png

Visualisierung (Tag Cloud)

Erstellt über das Menü Visualisieren

スクリーンショット 2020-10-11 16.18.07.png

スクリーンショット 2020-10-11 16.15.14.png

Zum Dashboard hinzugefügt.

スクリーンショット 2020-10-11 16.20.50.png

Plugin hinzufügen

Japanische morphologische Analyse-Engine

Da es eine große Sache ist, werde ich versuchen, die japanischen morphologischen Analyse-Engines "kuromoji" und "icu" hinzuzufügen.

Erstellen Sie einen Elasticsearch-Ordner und erstellen Sie eine Docker-Datei darunter. Ich werde auch versuchen, elasticsearch.yml zu lesen.

elasticsearch/Dockerfile


FROM docker.elastic.co/elasticsearch/elasticsearch:7.9.2

COPY ./config/elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml

#Plugin entfernen ↓ Aktivieren, wenn ein bereits enthaltener Fehler angezeigt wird
# RUN elasticsearch-plugin remove analysis-icu
# RUN elasticsearch-plugin remove analysis-kuromoji

# install plugin
RUN elasticsearch-plugin install analysis-icu
RUN elasticsearch-plugin install analysis-kuromoji

fix docker-compose.yml

docker-compose.yml

  elasticsearch01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2

Wechseln Sie zu ↓

  elasticsearch01:
    build: ./elasticsearch/

Ändern Sie in ähnlicher Weise elasticsearch02 und elasticsearch03.

elasticsearch.yml

Erstellen Sie "elasticsearch.yml" im Ordner "elasticsearch / config". Der Inhalt ist leer und OK

.
|-- docker-compose.yml
|-- elasticsearch
|   |-- Dockerfile
|   `-- config
|       `-- elasticsearch.yml

Lauf

build

docker-compose build

Anlaufen

docker-compose up

Bestätigung

Überprüfen Sie den Status jedes Knotens

Ich werde es für alle Fälle bestätigen.

$ curl -X GET "localhost:9200/_cat/nodes?v&pretty"

ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.24.0.2           73          81  51    2.27    2.20     1.23 dilmrt    -      es03
172.24.0.3           58          81  52    2.27    2.20     1.23 dilmrt    *      es02
172.24.0.4           49          81  52    2.27    2.20     1.23 dilmrt    -      es01

Plug-In-Bestätigung

Überprüfen Sie mit dem folgenden Befehl, ob das Plug-In installiert ist.

$ curl -X GET "http://localhost:9200/_nodes/es01/plugins?pretty"

...Kürzung
      },
      "plugins" : [
        {
          "name" : "analysis-icu",
          "version" : "7.9.2",
          "elasticsearch_version" : "7.9.2",
          "java_version" : "1.8",
          "description" : "The ICU Analysis plugin integrates the Lucene ICU module into Elasticsearch, adding ICU-related analysis components.",
          "classname" : "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
          "extended_plugins" : [ ],
          "has_native_controller" : false
        },
        {
          "name" : "analysis-kuromoji",
          "version" : "7.9.2",
          "elasticsearch_version" : "7.9.2",
          "java_version" : "1.8",
          "description" : "The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into elasticsearch.",
          "classname" : "org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin",
          "extended_plugins" : [ ],
          "has_native_controller" : false
        }
      ],

Lassen Sie uns das elastische Forum - Qiita visualisieren

Bildschirmprüfung

[Dashboard](http: // localhost: 5601 / app / dashboards # / list? _G = (Filter :! (), RefreshInterval: (Pause:! T, Wert: 0), Zeit: (von: now-1h) , jetzt)))).

Ich konnte es mit der Tag Cloud visualisieren.

スクリーンショット 2020-10-11 16.53.13.png

Docker-Compose-Datei

Das Endergebnis ist wie folgt.

version: "2.2"
services:
  # 1st node port=9200
  elasticsearch01:
    # image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    build: ./elasticsearch/
    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:
      - elasticsearch_multinode_data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
    healthcheck:
      interval: 20s
      retries: 10
      test: curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"'

  # 2nd node
  elasticsearch02:
    # image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    build: ./elasticsearch/
    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:
      - elasticsearch_multinode_data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  # 3rd node
  elasticsearch03:
    # image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    build: ./elasticsearch/
    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:
      - elasticsearch_multinode_data03:/usr/share/elasticsearch/data
    networks:
      - elastic

  # kibana
  kibana:
    image: docker.elastic.co/kibana/kibana:7.9.2
    container_name: kibana
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://es01:9200 # container_Siehe Name
      - "I18N_LOCALE=ja-JP"
    depends_on:
      - elasticsearch01
      - elasticsearch02
      - elasticsearch03
    networks:
      - elastic
    healthcheck:
      interval: 10s
      retries: 20
      test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:5601/api/status
    restart: always

  # logstash
  logstash:
    image: docker.elastic.co/logstash/logstash:7.9.2
    container_name: logstash
    volumes:
      - ./logstash/pipeline/:/usr/share/logstash/pipeline/
      - ./logstash/config/:/usr/share/logstash/config/
    networks:
      - elastic
    depends_on:
      - elasticsearch01
      - elasticsearch02
      - elasticsearch03
    restart: always

volumes:
  elasticsearch_multinode_data01:
    driver: local
  elasticsearch_multinode_data02:
    driver: local
  elasticsearch_multinode_data03:
    driver: local

networks:
  elastic:
    driver: bridge

Ordnerhierarchie

$ tree --charset=C

.
|-- docker-compose.yml
|-- elasticsearch
|   |-- Dockerfile
|   `-- config
|       `-- elasticsearch.yml
`-- logstash
    |-- config
    |   |-- logstash.yml
    |   |-- pipelines.yml
    `-- pipeline
        `-- twitter.conf

Aufräumen

Elastische Suche beendet

Der folgende Befehl

docker-compose down

Löschen Sie die Lautstärke

Wenn Sie die Lautstärke löschen,

docker-compose down --volumes

Alles löschen

Beim Löschen aller folgenden Elemente (Container, Image, Volume und Netzwerk)

docker-compose down --rmi all --volumes

Lautstärke löschen

docker volume prune

Referenz

[Erste Elasticsearch mit Docker --Qiita](https://qiita.com/kiyokiyo_kzsby/items/344fb2e9aead158a5545#elasticsearch%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF% E3% 81% AE% E5% 81% 9C% E6% AD% A2)

[Eine Geschichte über das Erstellen einer ElasticStack-Umgebung auf Docker und das Konvertieren von Tweets über "Corona" in eine Tag-Cloud - Qiita](https://qiita.com/kenchan1193/items/9320390d48f3d2ae883c#elasticstack%E7%92%B0%E5% A2% 83% E6% A7% 8B% E7% AF% 89)

Recommended Posts

Elasticsearch> Mit Docker erstellen, Twitter-Informationen abrufen und mit Kibana visualisieren
Erstellen einer Docker-Umgebung mit WSL
Erstellen Sie DynamoDB local mit Docker
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Hallo Welt mit Docker und C Sprache
Microservices mit Docker- und Cloud-Leistung
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
Wenn Sie mit PHPStorm und xdebug auf Docker stecken bleiben. Fehlerbehebung
[Kopieren und Einfügen] Erstellen Sie mit Docker Compose Part 2 eine Laravel-Entwicklungsumgebung
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Erstellen Sie einen DNS-Server mit CentOS 8 und binden Sie
Kommunizieren Sie zwischen Gitlab und Gitlab Runner, die mit Docker gestartet wurden
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
[Docker] Erstellen Sie die Ausführungsumgebung von Jupyter Lab mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie mit Docker eine TensorFlow-Betriebsüberprüfungsumgebung
So erstellen Sie eine Rails 6-Umgebung mit Docker
Holen Sie sich Youtube-Videoinformationen mit Retrofit und behalten Sie sie in der Android-App.
Erstellen Sie mit Docker eine Apache- und Tomcat-Umgebung. Übrigens Maven & Java Kooperation
Bis Sie Zabbix Server mit Docker-Compose starten und Informationen von anderen Hosts erhalten