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 解凍版インストールチュートリアル個人テスト!

推薦する

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

js での遅延読み込みとプリロードの具体的な使用法

遅延読み込み(レイジー読み込み)とプリロードは、Web 最適化によく使用される手段です。 。 1. ...

JSの矢印関数におけるこのポイントの詳細な説明

矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

Vue ポーリング リクエスト ソリューションの完全な例

世論調査の理解実際、ポーリングの焦点はループ自体ではなく、実行間の間隔にあります。 Ajax は非同...

複数の条件を持つ MySQL クエリ メソッド

複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...

Linuxでファイルを削除してもスペースが解放されない問題の対処方法

問題の背景業務システムのサーバ監視システムからディスク使用率が90%に達したという早期警告通知が来た...

Linuxにログインする際の文字セットの問題を解決する方法

文字セットエラーは常に存在するロケール: LC_CTYPE をデフォルト ロケールに設定できません:...

CSS で水平方向と垂直方向に中央揃えする 10 の方法を教えます (要約)

面接には必需品、仕事でも必ず使います。うーん、誰でも分かるでしょう。これ以上何も言わずに、要約とレン...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

HTML でテキストの折り返しを実装する例 (HTML でテキストと画像が混在)

1. 画像の周りのテキスト通常のものを使用する場合、たとえば次のようになります。コードをコピーコー...

XMLとCSSスタイルの組み合わせ

学生.xml <?xml バージョン="1.0" エンコーディング=&qu...

Vue はカードフリップカルーセル表示を実装します

Vueカードのフリップカルーセル表示、フリップ時にデータを切り替えながら、参考までに、具体的な内容は...

一般的なMysql DDL操作の概要

図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...

mysql 5.7.17 winx64.zip インストールと設定方法のグラフィックチュートリアル

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...