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仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

JSはreduce()メソッドを使用してツリー構造データを処理します

目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...

Serv-U FTPとADの完璧な統合ソリューションの詳細な説明

会社が現在使用しているソリューションを確認するためにバックエンドにログインしました。使用される FT...

Nodejs がイントラネット侵入サービスを実装

目次1. LAN内のプロキシ2. イントラネットの浸透イントラネット侵入とは何ですか?橋プロキシサー...

Nginx に lua-nginx-module モジュールをインストールする方法

ngx_lua_module は、lua パーサーを nginx に埋め込み、lua 言語で記述され...

nginx をプロキシ キャッシュとして使用する方法

キャッシュを使用する目的は、バックエンドの負荷を軽減し、Web サイトの同時実行性を向上させることで...

MySQL の起動時に InnoDB エンジンが無効になる問題の解決方法

問題を見つける今日、仕事中に、ローカル データベースから仮想マシン CentOS 6.6 上のデータ...

5分でReactルーティングについてお教えします

目次ルーティングとは純粋コンポーネントの基本的な使用純粋なコンポーネントの使用に関する注意事項ルーテ...

ウェブページに埋め込まれた Flash と IE、FF、Maxthon の互換性の問題

いろいろ苦労した後、インターネットで検索したり、以前の会社のプロジェクトを探したり、他の人のプロジェ...

Vue-Routerのルート設定の詳しい説明

目次導入ルート内のオブジェクト属性パス: 文字列コンポーネント: コンポーネント | () =>...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...

HTML と CSS の命名規則の概要

CSS命名規則 ヘッダー: ヘッダーコンテンツ: コンテンツ/含むフッターナビゲーション: navサ...

JavaScript で Webpack を使用するチュートリアル

目次0. Webpackとは1. Webpackの使用2. Webpackのコアコンセプト2.1 エ...

MySQL のあまり知られていないソート方法

序文ORDER BY 字段名升序/降序、このソートステートメントは皆さんご存知だと思いますが、特殊な...

Linux システムでデプロイメント プロジェクトを設定する方法

1. ファイアウォールの設定を変更し、対応するポートを開きますLinux システムのファイアウォール...