Docker で ElasticSearch と Kibana をインストールするためのサンプル コード

Docker で ElasticSearch と Kibana をインストールするためのサンプル コード

1. はじめに

Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑される可能性があります。そこで、esを勉強してみることにしました。私はdockerの方が好きなので、dockerを使ってesをインストールしました。ここではインストールの詳細や注意すべき点などを詳しく紹介します。ここでは docker のインストールについては説明しません。自分でインストールできます。非常に簡単なので、きっと気に入っていただけると思います。ここで使用しているパソコンはMacBook Proです。Linuxであれば基本的に同じです。Windowsであれば違うかもしれません。こちらでは実際に操作したことはありません。興味があれば自分で試してみて下さい。

2.ElasticSearchのインストール

2.1 dockerにesをインストールする

es を使用するには、インストールする必要があります。私は docker に慣れているので、主に私のソフトウェアの多くが docker を選択しているため、docker でも試してみたいと思います。 Docker のインストールは実は非常に簡単で、必要なのは 1 行のコマンドだけです。ここでは、es 7.2.0 バージョンのミラー イメージ インストールを選択しました。具体的なインストール コマンドは次のとおりです。

docker pull elasticsearch:7.2.0

コマンドを入力したら、Enter キーを押してイメージのダウンロードが完了するまで待ちます。

2.2 開始

インストールが完了したら、もちろん es を起動する必要があります。ここから起動するのも非常に便利で、コマンド 1 行だけで十分です。次のように:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0

このようにしてesが開始されます。次のコマンドを入力すると、es が正常にインストールされているかどうかを確認できます。

カール http://localhost:9200

または、ブラウザで URL http://localhost:9200 を開きます。次の情報が表示されれば、es がインストールされたことになります。

{
 "名前" : "530dd7820315",
 「クラスター名」:「docker-cluster」、
 "クラスターUUID" : "7O0fjpBJTkmn_axwmZX0RQ",
 「バージョン」: {
  "番号" : "7.2.0",
  "build_flavor" : "デフォルト",
  「ビルドタイプ」:「docker」、
  "build_hash" : "508c38a",
  「ビルド日付」:「2019-06-20T15:54:18.811730Z」、
  "build_snapshot" : 偽、
  "lucene_version" : "8.0.0",
  "最小ワイヤ互換性バージョン" : "6.8.0",
  "最小インデックス互換性バージョン" : "6.0.0-beta1"
 },
 「タグライン」:「検索用です」
}

サーバーにインストールする場合は、外部アクセス用にサーバーのポート 9200 を開き、localhost をサーバーの IP アドレスに置き換える必要があります。

2.3 クロスドメインアクセスの問題を解決するために設定を変更する

まずコンテナに入り、次に指定されたディレクトリに入って elasticsearch.yml ファイルを変更します。

docker exec -it elasticsearch /bin/bash
/usr/share/elasticsearch/config/ をコピーします。
vi elasticsearch.yml

elasticsearch.yml ファイルの末尾に以下を追加します。

http.cors.enabled: 有効
http.cors.allow-origin: "*"

設定を変更したら、コンテナを再起動します。

docker で elasticsearch を再起動する

2.4 ik word segmenterをインストールする

es に付属する単語セグメンテーションは中国語の単語セグメンテーションにはあまり適していないため、この問題を解決するためにオープンソースの IK 単語セグメンテーションをダウンロードします。まず、プラグイン ディレクトリに移動して Word segmenter をダウンロードし、ダウンロード後に解凍して、es を再起動します。具体的な手順は次のとおりです。

注意: elasticsearch のバージョンと ik tokenizer のバージョンは一致している必要があります。一致していないと、再起動時に失敗します。ここですべてのバージョンを表示できます。適切なバージョンを選択し、右クリックしてリンク アドレスをコピーします。ここをクリック

cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin のインストール https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
出口
docker で elasticsearch を再起動する 

次に、kibana インターフェースの開発ツールでインストールが成功したかどうかを確認できます。

POSTテスト/_analyze
{
 "アナライザー": "ik_max_word",
 "text": "こんにちは、私はDongxie Jiaflyです"
}

「analyzer」:「ik_max_word」を追加しないと、各単語がセグメント化されます。以下の kibana をインストールした後に試すことができます。

3. Kibanaのインストール

3.1 Dockerにkibanaをインストールする

docker を使用して kibana をインストールするための同じコマンドは次のとおりです。

docker pull kibana:7.2.0

すべての画像がダウンロードされるまで待ちます。

3.2 Kibanaを起動する

インストールが完了したら、kibana コンテナを起動し、--link を使用して elasticsearch コンテナに接続する必要があります。コマンドは次のとおりです。

Docker 実行 --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0
docker キバナを起動する

起動後、ブラウザを開いて http://localhost:5601 と入力すると、kibana インターフェースが開きます。

4. 結論

上記の手順でesとkibanaがインストールされます。簡単ですよね?これは Docker の利点の 1 つであり、私が Docker を好む理由の 1 つです。もちろん、Docker にはこれ以外にもたくさんの機能があります。後ほど詳しく書きますが、一言で言えば、間違いなく使えます。ハハハ

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

以下もご興味があるかもしれません:
  • Dockerにelasticsearchとkibanaをインストールする方法
  • Docker に ElasticSearch をインストールする方法を 1 つの記事で解説
  • Dockerコンテナ内にkibanaトークナイザーをインストールする方法
  • DockerにElasticSearchとKibanaをインストールする方法を説明します

<<:  JavaScript でドラッグ可能なプログレスバーを実装する

>>:  MySQL 8.0.12 解凍版インストールチュートリアル個人テスト!

推薦する

JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...

CSS BEM 記述標準の詳細な説明

BEM は、Web 開発に対するコンポーネントベースのアプローチです。ユーザー インターフェイスを独...

HTML タグでの this の使用法の紹介

例えば:コードをコピーコードは次のとおりです。 <html> <ヘッド> &...

MySQLデータベースのマスタースレーブ同期の実際のプロセスの詳細な説明

目次インストール環境の説明MySQLデータベースサービスをインストールするメインライブラリを構成する...

Vue はチャット ボックスで絵文字を送信する機能を実装します

vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...

WeChatアプレットでグローバル変数を監視する方法

最近、仕事で問題に遭遇しました。グローバル変数 red_heart があります。これは多くの場所で使...

HTML でスクロールバーを使用する際のヒントを共有する

今日、牛南ニュースリリースシステムについて学んでいたとき、牛南先生はスクロールバーに関するいくつかの...

MySQL ストアドプロシージャとストアドファンクションの詳細な説明

1 ストアドプロシージャ1.1 ストアドプロシージャとは何かストアド プロシージャは、特定の機能を実...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...

Mysql の読み取り/書き込み分離期限切れに対する一般的な解決策

MySQLの読み書き分離の落とし穴読み取りと書き込みの分離の主な目的は、メイン データベースの負荷を...

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

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

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

MySQL および Oracle のバッチ挿入 SQL の一般的な記述例

目次例えば:一般的な執筆:要約する例えば:次に、データベースのUSERテーブルにUserオブジェクト...

MySQL 最適化 Zabbix パーティション最適化

zabbix を利用する上での最大のボトルネックはデータベースです。zabbix のデータストレージ...

Windows システムの MySQL が中国語を入力および表示できない問題の解決方法

ステップ 1: メモ帳を使用して、MySQL インストール ディレクトリの「my.ini」ファイルを...