この記事では主にDockerを使ってElasticSearch:バージョン6.8.4をデプロイする方法について説明しています。Dockerからpullして最終的にElasticSearchを実行し、ElasticSearch関連の情報を管理するための小さなツールであるElasticSearch-Headをインストールする方法について説明します。このブログシステムのホームページの検索はElasticSearchを使用して実装されています。ElasticSearchは更新が速く、SpringData-ElasticSearchがEsの更新に追いつけないため、最初はバージョン8.xもダウンロードしましたが、SpringData-ElasticSearchがエラーを報告しました。最終的に6.8.4を選択しました。ここに記録します 1. ElasticSearch の Docker デプロイメント: バージョン 6.8.4 1.1 イメージを取得する docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.4 1.2 コンテナを実行する ElasticSearch のデフォルト ポートは 9200 です。ホスト環境のポート 9200 を Docker コンテナのポート 9200 にマッピングすると、Docker コンテナ内の ElasticSearch サービスにアクセスできます。同時に、このコンテナに es という名前を付けます。 docker run -d --name es -p 9200:9200 -p 9300:9300 -e "検出タイプ=単一ノード" -e ES_JAVA_OPTS="-Xms=256m -Xms=256m" 6.8.4 より前のバージョン 例: -e discovery.type=single-node: 単一ノードの起動を示します -e ES_JAVA_OPTS="-Xms=256m -Xms=256m" : ES 起動時のメモリ サイズの設定を示します。これは必ず設定する必要があります。そうしないと、自分のひどいサーバーのように、後でメモリが不足することになります。 1.3 メモリ不足 Centos が elasticsearch をダウンロードして設定を変更した後、docker コマンドを実行します。 起動が成功しなかったことが判明しました。コマンドの-dを削除すると、次のエラーが表示されました。 Java HotSpot(TM) 64 ビット サーバー VM の警告: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) が失敗しました。 エラー='メモリを割り当てられません' (errno=12) 調べてみると、elasticsearch6.0 によって割り当てられたデフォルトの JVM スペース サイズが 2g であり、割り当てるメモリが不足していたことが原因であることがわかりました。 解決策は、jvm スペース割り当て実行コマンドを変更することです。 /var/lib/docker/overlay/ -name jvm.options を検索します。 jvm.options ファイルを見つけて、vi コマンドを使用して次のように jvm.options ファイルを開きます。 -Xms2g -Xmx2g -Xms512mに変更 -Xmx512m 保存して終了するだけです。再度、create および run elasticsearch コマンドを実行すると、正常に起動します。 2. Docker デプロイメント ElasticSearch-Heard 2.1 イメージを取得する docker pull mobz/elasticsearch-head:5 2.2 コンテナを実行する docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5 2.3 コンテナを起動する docker で elasticsearch-head を起動します 2.4 ブラウザを開く: http://IP:9100 クロスドメインの問題で接続できないことがわかりました。フロントエンドとバックエンドは別々に開発されていたため、esを設定する必要がありました。 2.5 起動したばかりのesコンテナに入ります。コンテナ名 = es docker exec -it es /bin/bash 2.6 elasticsearch.ymlファイルを変更する vi config/elasticsearch.yml に追加 http.cors.enabled: 有効 http.cors.allow-origin: "*" 実際、SpringBootのymlファイルはクロスドメインサポートを追加します 2.7 コンテナを終了して再起動する 出口 docker 再起動 es 2.8 http://localhost:9100 にアクセスします。 要約: この記事では、Docker を使用して ElasticSearch をインストールする方法と、メモリ不足やバージョンが高すぎるなどの問題、ElasticSearch-Heard のインストールとクロスドメイン構成について簡単に説明します。次の記事では、ElasticSearch に中国語の単語セグメンターをインストールする方法について説明します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MYSQLのバックアップデータのスケジュールクリアの特定の操作
>>: Vue 2つのフィールドの共同検証によりパスワード変更機能を実現
1. マスター'x@xxxx:x'への接続エラー- 再試行時間: 60 再試行回数:...
データ内に次のような特徴を持つ「 ' 」などの文字が含まれることがあります。 &# ...
目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...
1. まず、よく使われるMySQL関数をいくつか紹介しますRAND() は 0 から 1 (0<...
少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...
目次背景解決新しい質問高度な背景シャトル ボックスが大量のデータを処理すると、レンダリングされる D...
この記事では、マウスをドラッグしてdivのサイズを調整するJavaScriptの具体的なコードを参考...
ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...
目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...
目次1. 挿入のいくつかの構文1-1. 通常の挿入文1-2. 挿入または更新1-3. 挿入または交換...
導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...
高性能分散メモリオブジェクトキャッシュシステムMemcachedについては、別の記事「Windows...
<br />原文: http://andymao.com/andy/post/103.h...
1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...
目次1. コンテンツの概要2. 文字セットと文字順序の概念と関係3. MySQL でサポートされてい...