Docker で ElasticSearch をデプロイする方法

Docker で ElasticSearch をデプロイする方法

1. ElasticSearch とは何ですか?

Elasticsearch も Java で開発されており、Lucene をコアとして使用してすべてのインデックス作成機能と検索機能を実装していますが、その目的は、シンプルな RESTful API を通じて Lucene の複雑さを隠し、全文検索を簡単にすることです。

ただし、Elasticsearch は Lucene と全文検索だけではありません。次のように説明することもできます。

分散リアルタイムファイルストレージ、各フィールドにインデックスが付けられる

検索とインデックス作成が可能な分散型リアルタイム分析検索エンジン

数百台のサーバーに拡張でき、PBレベルの構造化データや非構造化データを処理できます。

2. DockerでElasticSearchをデプロイする

2.1 イメージを取得する

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.2 コンテナを実行する

ElasticSearchのデフォルト ポートは 9200 です。ホスト環境のポート 9200 をDockerコンテナのポート 9200 にマッピングすると、 Dockerコンテナ内のElasticSearchサービスにアクセスできます。同時に、このコンテナにesという名前を付けます。

次のようにコードをコピーします
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.3 クロスドメインの設定

2.3.1 コンテナに入る

設定が必要なので、コンテナに入って対応する設定情報を変更する必要があります。

docker exec -it es /bin/bash

2.3.2 構成

# ファイルの表示 ls
結果は次のとおりです。
LICENSE.txt README.textile config lib モジュール
NOTICE.txt bin データ ログ プラグイン

# 設定フォルダに入る cd config

# ファイルの表示 ls
結果は次のとおりです。
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml ユーザー

# 設定ファイル vi elasticsearch.yml を変更します

# クロスドメイン設定を追加 http.cors.enabled: true
http.cors.allow-origin: "*"

2.3 コンテナの再起動

構成が変更されたため、 ElasticSearchコンテナを再起動する必要があります。

docker 再起動 es

表示は次のようになります。

3. ElasticSearch-HeadのDockerデプロイ

ElasticSearch-Headをインストールする理由は、 ElasticSearch関連の情報を表示するための管理インターフェースが必要だからです。

3.1 イメージを取得する

docker pull mobz/elasticsearch-head:5

3.2 コンテナを実行する

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

表示は次のようになります。




このようにして、ホスト環境を汚染することなく、Docker を使用して Elasticsearch サービスを提供することができました。これにはもう 1 つの利点があります。複数の異なるバージョンの Elastcsearch またはその他のサービスを同時に起動する場合にも、Docker は理想的なソリューションです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker に Elasticsearch 7.6.2 をインストールするチュートリアル
  • Docker が elasticsearch を起動するときのメモリ不足の問題と解決策
  • Dockerにelasticsearchとkibanaをインストールする方法
  • DockerはElasticsearch7.6クラスタをインストールし、パスワードを設定します
  • Docker で ElasticSearch と Kibana をインストールするためのサンプル コード
  • Docker で Elasticsearch 可視化 Kibana を使用する方法の詳細説明
  • Docker に ElasticSearch をインストールする方法を 1 つの記事で解説

<<:  MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

>>:  MySQLクエリプランでken_lenの値を計算する方法

推薦する

Vue.jsのレンダリング関数の使い方の詳しい説明

Vue では、ほとんどの場合、テンプレートを使用して HTML を作成することを推奨しています。ただ...

MySQL データベースの最適化に関する 9 つのヒント

目次1. 最も適切なフィールド属性を選択する2. フィールドをNOT NULLに設定してみる3. サ...

Vueプロジェクトが完了した後にプロジェクトを最適化する方法の例

目次1. 開発モードとリリースモードに異なるパッケージエントリポイントを指定する2. 外部CDNリソ...

フォーム要素の垂直方向の中央揃えに最適なソリューション

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

ウェブページの HTML コード: スクロールテキストの作成

このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...

Vueログイン機能の実装

目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...

モバイルデバイスで 1 ピクセルの境界線の問題を解決するいくつかの方法 (5 つの方法)

この記事では、モバイルデバイス上の 1 ピクセルの境界線の問題を解決する 5 つの方法を紹介します。...

CSSは高さと幅を固定した要素の比例表示効果を実現します

padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...

よくある MySQL 設計エラーをご存知ですか?

インターネットの発達により、バスを待ったり地下鉄に乗ったりする時間など、断片的な時間を活用して、いつ...

CSS における zoom:1 属性の定義と機能

今日、CSS の zoom 属性は何のために使用されるのかと尋ねられました。この属性は、フローティン...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわか...

MySQL 全文あいまい検索 MATCH AGAINST メソッドの例

MySQL 4.x 以降では、全文検索 MATCH ... AGAINST モード (大文字と小文字...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

Linux におけるゼロコピー技術の使用に関する簡単な分析

この記事では、Linux におけるいくつかの主要なゼロコピー テクノロジと、ゼロコピー テクノロジを...