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の考え方とプロセス

目次実装のアイデアアカウント パスワードを保存する方法は 3 つあります。機能インターフェースアカウ...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

MySQLシリーズ15 MySQL共通設定とパフォーマンスストレステスト

1. 一般的なMySQLの設定以下のすべての構成パラメータは、32G のメモリを搭載したサーバーに基...

Django 2.2 を MySQL データベースに接続する方法

1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...

SQL における参照整合性の詳細な説明 (1 対 1、1 対多、多対多)

1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...

コードブロックのハイライトをコピーして表示できる js プラグイン highlight.js + clipboard.js 統合

主に2つの側面から: 1. ハイライト/改行2. コードのコピーボタンこれら両方には既製のプラグイン...

MySQL での一時テーブルの使用例

ここ2日間ちょっと忙しくて、公式アカウントも数日更新が止まってしまいました。その結果、何人かの読者か...

Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明

目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...

Vue のデータ応答性に関する詳細な理解

目次1. ES 構文のゲッターとセッター2. ES構文でのdefineProperty 3. Vue...

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

Alibaba Cloud Centos7のインストールとSVNの設定

1. SVNサーバーをインストールする yum でサブバージョンをインストール2. SVNバージョン...

Centos に MYSQL8.X をインストールするチュートリアル

MySQLのインストール(4、5、6は省略可能)ステートメント: CentOS のバージョンは 7....

CSSのさまざまな背景、使用シナリオ、テクニックの詳細な分析

この記事はGitHub https://github.com/qq449245884/xiaozhi...

Vue における ref と $refs の紹介と使用例

序文JavaScript では、document.querySelector("#demo...

Mysql+JavaSwing に基づくスーパーマーケット商品管理システムの設計と実装

目次1. 機能紹介2. キーコード2.1 ホームページの機能2.2 製品情報を追加する2.3 データ...