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の値を計算する方法

推薦する

動的な背景グラデーション効果を実現するCSS3

CSS3 を学ぶということは、新しい機能と基本的な理論に慣れることを意味します。この記事では、ケー...

jQueryはhide()とtoggle()関数を使用してカメラブランド表示の非表示機能を実現します。

最近、jQuery を学習しているときに、show()、hide()、toggle() 関数に出会い...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

HTML/CSS の基礎 - HTML コード記述におけるいくつかの注意事項 (必読)

この記事の警告事項は、ブラウザの互換性とはまったく関係ありません。主に、プロジェクトで遭遇したいくつ...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論

目次サーバー層でのフルテーブルスキャンの影響InnoDB におけるフルテーブルスキャンの影響Inno...

MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

この記事では、mysql5.7.23 の詳細なインストールプロセスを記録し、皆さんと共有します。 1...

LINUX でプロセスを表示する 4 つの方法 (要約)

プロセスは CPU とメモリ内で実行されるプログラム コードであり、各プロセスは 1 つ以上のプロセ...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。リンクのパス属性を設定することで、ル...

Vueはv-modelを使用してel-paginationコンポーネントのプロセス全体をカプセル化します。

v-model を使用してページング情報オブジェクトをバインドします。ページング情報オブジェクトに...

Firefox ブラウザでバックグラウンド ミュージックを再生するための究極のソリューション (Chrome マルチブラウザ対応)

FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...

uniappのグローバル変数実装の詳細な説明

序文この記事では、uniapp グローバル変数の実装方法をいくつかまとめています。詳細な知識は、uV...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...