Docker に Elasticsearch 7.6.2 をインストールするチュートリアル

Docker に Elasticsearch 7.6.2 をインストールするチュートリアル

Dockerをインストールする

Docker をインストールする必要がありますが、それ以上の指示はありません。

Elasticsearchをインストールする

注: 使用されているバージョンは7.6.2ですが、他のバージョンを選択することもできます。

画像をプルする

docker pull elasticsearch:7.6.2

コンテナを起動する

docker run --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \

-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \

--name='elasticsearch' --cpuset-cpus="1" -m 2G -d elasticsearch:7.6.2

例:

1. -v /opt/hanlp:/opt/hanlp hanlp単語分割を使用する場合は、単語ライブラリをマウントする必要があります。

2. ES_JAVA_OPTSはパラメータを設定できます

3. 単一ノードの起動

アクセスアドレス: http://172.18.63.211:9200

プラグインのインストール

ikトークナイザーをインストールする

対応するバージョンをダウンロードしてください: elasticsearch-analysis-ik

IK をインストールする理由、軽量。設定された語彙は、中国語の単語分割にも使用できます。HanLP は重量級で、多くのアルゴリズムが組み込まれているため、単語単位の分割には適していません。

# オフラインインストール、対応するプラグインのzipをダウンロード
# https://github.com/medcl/elasticsearch-analysis-ik
docker cp /opt/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/opt
docker exec -it elasticsearch bash
CDプラグイン/
mkdir 分析 -ik
解凍 -d /usr/share/elasticsearch/plugins/analysis-ik/ /opt/elasticsearch-analysis-ik-7.6.2.zip 
出口
docker で elasticsearch を再起動する

カスタム語彙

カスタム辞書

リモート語彙

一般的なメンテナンスコマンド

# すべてのインデックス情報を表示する GET /_cat/indices?pretty
# ノード監視 GET /_cat/health?pretty
# どのプラグインがインストールされているか? GET _cat/plugins

その他のコマンドについては、使用時に説明します。この記事では、主にインストールと展開について説明します。

監視および開発ツール Kibana

Kibana は、Elasticsearch 向けに設計されたオープンソースの分析および視覚化プラットフォームです。 Kibana を使用して、Elasticsearch インデックスに保存されているデータを検索、表示、操作できます。高度なデータ分析と視覚化を簡単に実行し、アイコンの形で表示できます。

私たちのサーバーのIPは172.18.63.211です

Docker 実行 --restart=always --link elasticsearch:elasticsearch --name kibana -p 5601:5601 -d kibana:7.6.2

コンテナに入り、設定ファイルkibana.ymlを変更します。

docker exec -it kibana bash
vi config/kibana.yml
########################
# es elasticsearch.hosts のアドレスを指定します: ["http://172.18.63.211:9200"]
# 中国語 i18n.locale: "zh-CN"
# 外部ネットワークアクセス用のオプションの server.host を変更します: "0.0.0.0"
出口
########################
docker キバナを再起動

オープンアドレス: http://172.18.63.211:5601

テスト単語分割ツール

POST_analyze
{
 「テキスト」:「Brassica napus におけるスルホニルウレア系除草剤耐性遺伝子 BnALS3R を検出するためのプライマーとその応用」
 「アナライザー」: 「hanlp」
}

インデックスライブラリを追加しました

PUTの達成
{
 "設定": {
 「破片の数」: 1,
 「レプリカ数」: 1
 }
}

PUT 実績/_マッピング
{
 「プロパティ」: {
 「id」: {
  "タイプ": "テキスト"
 },
 "所有者": {
  "タイプ": "テキスト"
 },
 "タイトル": {
  "タイプ": "テキスト",
  「アナライザー」: 「hanlp」
 },
 "説明": {
  "タイプ": "テキスト",
  「アナライザー」: 「hanlp」
 },
 「更新時間」:{
  「タイプ」: 「日付」
 }
 }
}

データ同期 Logstash

ログの収集、解析、変換、データの同期などに使用されます。

インストール

docker pull ログスタッシュ:7.5.0

設定ファイルディレクトリ

mkdir -p /usr/local/logstash/config
/usr/local/logstash/config に移動します
logstash.yml をタッチする
vi log4j2.プロパティ
#####次のコンテンツを追加します。logger.elasticsearchoutput.name = logstash.outputs.elasticsearch
logger.elasticsearch出力レベル = デバッグ
#####
vi パイプライン.yml
####
- パイプラインID: logstash-match
 パス.config: "/usr/share/logstash/config/*.conf"
 パイプラインワーカー: 3
####

同時に、MySQL ドライバー パッケージを構成ファイルに配置する必要があります。

次に設定ファイルを作成します

以下は、MySQL データを es に定期的に同期する例です。 *

# ログスタッシュ-mysql-es.conf
入力{
 jdbc{
 jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
 jdbc_connection_string => "jdbc:mysql://172.18.63.211:3306/open_intelligence?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
 jdbc_user => "docker"
 jdbc_password => "docker@12345"
 jdbc_paging_enabled => 真
 jdbc_ページサイズ => 10000
 jdbc_fetch_size => 10000
 接続再試行回数 => 3
 接続再試行の待機時間 => 1
 jdbc_pool_timeout => 5
 列の値を使用する => true
 追跡列 => "更新時間"
 追跡列タイプ => "タイムスタンプ"
 record_last_run => 真
 last_run_metadata_path => "/usr/share/logstash/mysql/goods_achievement"
 ステートメント => "select * from goods_achievement where update_time > :sql_last_value"
 スケジュール => "* */30 * * * *"
 }
}

フィルター{
 変異 {
 分割 => { "feature1" => ";" }
 }
 変異 {
 分割 => { "feature2" => ";" }
 }
 変異 {
 分割 => { "feature3" => ";" }
 }
}

出力{
 エラスティックサーチ
 ドキュメントID => "%{id}"
 インデックス => "goods_achievement"
 ホスト => ["http://172.18.63.211:9200"]
 }
}

起動する

docker run -d -p 5044:5044 -p 9600:9600 -it \
-e TZ=アジア/上海 \
--name logstash --restart=常に\
-v /usr/local/logstash/config/:/usr/share/logstash/config/ \
-v /usr/local/logstash/mysql/:/usr/share/logstash/mysql/ \
--privileged=true \
ログスタッシュ:7.6.2

エラーが報告された場合

エラー: com.mysql.cj.jdbc.Driver がロードされていません。:jdbc_driver_library が設定されていません。クラスパスに適切なドライバー クライアント ライブラリを含めましたか?

ドライバー、mysql-connector-java-xxxx-bin.jarをlogstashディレクトリ\logstash-core\lib\jarsにコピーしてみてください。

のように:

/usr/local/logstash/config に移動します

docker cp mysql-connector-java-8.0.17.jar ログスタッシュ:/usr/share/logstash/logstash-core/lib/jars

検出プロファイル

bin/logstash -f /usr/local/logstash/config/mysql-es-patent.conf -t

完了です。開発を開始できます。

Docker に Elasticsearch 7.6.2 をインストールする方法に関する上記のチュートリアルは、私が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker に ElasticSearch と Kibana をインストールする際の問題と解決策
  • DockerにElasticsearch7.6クラスタをインストールしてパスワードを設定する方法
  • Docker に ElasticSearch をインストールする方法を 1 つの記事で解説
  • ElasticSearch と ElasticSearch-Head の Docker デプロイメントの実装
  • Dockerを使用してelasticsearchとheadプラグインをインストールする方法を説明します

<<:  Markodwnによるタイトル配置による同期スクロールのアイデアの詳細な説明

>>:  MySQL ロックブロッキングの詳細な分析

推薦する

Linuxカーネルマクロcontainer_ofの詳細な分析

1. 前述の通り数年前、Linux ドライバーのコードを読んでいたときにこのマクロを見ました。長い間...

Nginx のアクセス制御とパラメータ調整方法

Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...

Windows システムに VirtualBox と Ubuntu 16.04 をインストールするための詳細なチュートリアル

1. ソフトウェアの紹介バーチャルボックスVirtualBox は、無料のオープンソース仮想マシン ...

Linux での透過的巨大ページの使用と無効化の概要

導入コンピューティングのニーズが拡大し続けるにつれて、アプリケーションのメモリに対する需要も増加して...

Bootstrap FileInputは画像アップロード機能を実装します

この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...

MySQL パーティション フィールド列に別のインデックスを作成する必要がありますか?

序文パーティション フィールドは主キーの一部でなければならないことは誰もが知っています。では、複合主...

MySql ストレージ エンジンとインデックスに関する知識のまとめ

ストレージエンジンデータベース ストレージ エンジンとは何ですか?データベース エンジンは、データベ...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...

Windows システム mysql5.7.18 インストール グラフィック チュートリアル

Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...

Vue コードの読みやすさに関するいくつかの提案

目次1. コンポーネントをうまく活用してコードを整理する1. UIコンポーネントを抽出する2. モジ...

js でオブジェクトとオブジェクト メソッドを作成するいくつかの方法の詳細な説明

この記事は、JS レッドブックの第 8 章に記載されているオブジェクトに関する 2 番目の記事です。...

Kylin V10 サーバーで Storm をコンパイルしてインストールする詳細なプロセス

1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...

MySQLが日付フィールドインデックスを使用しない理由の要約

目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...

Docker nginxのインストールと設定方法

DockerでNginxイメージをダウンロードする docker プル nginx Docker イ...