目次
es は docker でデプロイできますか?
ホームページ 運用・保守 Docker es は docker でデプロイできますか?

es は docker でデプロイできますか?

Aug 15, 2022 pm 05:09 PM
docker

es は docker を使用してデプロイできます。es クラスターのデプロイは、「docker-compose」を使用して直接行うことができます。「docker-compose」は、複雑なアプリケーション、docker コンテナを使用するアプリケーションの定義と実行に使用される docker ツールです。通常、コンテナは複数のコンテナで構成されますが、「docker-compose」を使用すると、コンテナを起動するためにシェル スクリプトを使用する必要がなくなります。

es は docker でデプロイできますか?

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

es は docker でデプロイできますか?

es クラスターのデプロイは、docker-compose を使用して直接実行できます。

Docker Compose は、複雑なアプリケーションの定義と実行に使用される Docker ツールです。 。 Docker コンテナを使用するアプリケーションは通常、複数のコンテナで構成されます。 Docker Compose を使用する場合、コンテナーを起動するためのシェル スクリプトは必要なくなりました。

Compose は、構成ファイルを通じて複数の Docker コンテナを管理します。構成ファイルでは、すべてのコンテナがサービスを通じて定義され、docker-compose スクリプトを使用してアプリケーションとサービスが開始、停止、再起動されます。サービスに依存するすべてのコンテナーと同様に、複数のコンテナーを組み合わせて開発するシナリオに非常に適しています。

#知識を広げる

ES クラスターの概要

クラスターが必要な理由

単一マシンの elasticsearch データ ストレージを実行する場合、大規模なデータ ストレージの問題と単一障害点の問題という 2 つの問題に必然的に直面します。

大規模なデータ ストレージの問題: インデックス ライブラリを N 個のシャードに論理的に分割し、複数のノードに保存する

単一点障害の問題: シャード データを異なる場所に分割する ノードのバックアップ (レプリカ)

ES クラスター関連の概念

  • クラスター (クラスター): 共通のクラスター名を持つノードのグループ。

  • ノード: クラスター内の Elasticarch インスタンス

  • シャード: インデックスはさまざまな部分に分割できますストレージはシャーディングと呼ばれます。クラスター環境では、インデックスのさまざまなシャードをさまざまなノードに分割できます。

データ量が多すぎて、シングルポイントのストレージ容量が制限されているという問題を解決します。

es は docker でデプロイできますか?

ここでは、データを 3 つのシャード (shard0、shard1、shard2) に分割します。

  • プライマリ シャード: レプリカ シャードに対する相対的な定義。

  • レプリカ シャード (レプリカ シャード) 各プライマリ シャードは 1 つ以上のレプリカを持つことができ、データはプライマリ シャードと同じです。

データ バックアップにより高可用性が確保されますが、各シャードのコピーが 1 つあると必要なノード数が 2 倍になり、コストが高すぎます。

高可用性とコストのバランスを見つけるために、次のことを行うことができます:

  • 最初にデータをシャード化し、それを別のノードに保存します

  • 次に、各シャードをバックアップし、それを他のノードに配置して相互バックアップを完了します。

    #これにより、必要なサービス ノードの数を大幅に削減できます。図では、例として 3 つのシャードを使用し、各シャードの 1 つのコピーがバックアップされています。

es は docker でデプロイできますか?

ES クラスターの構築

es クラスターのデプロイは docker-compose を使用して直接実行できますが、Linux 仮想マシンには少なくとも 4G のメモリ領域が必要です。

まず、次の内容で docker-compose ファイルを作成します。 content:

version: '2.2'
services:
  es01:
    image: elasticsearch:7.12.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.12.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    ports:
      - 9201:9200
    networks:
      - elastic
  es03:
    image: elasticsearch:7.12.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic
    ports:
      - 9202:9200
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local
networks:
  elastic:
    driver: bridge
ログイン後にコピー

ファイル内容の紹介:

バージョン: 完全バージョン

es01: ノード

イメージ: ミラー

container_name: コンテナ名

environment: 環境変数

node.name: ノード名

cluster.name: クラスター名、es はクラスターを自動的に作成します

discovery.seed_hosts: 他の 2 つのアドレス。コンテナ名を使用して相互接続できます。

cluster.initial_master_nodes: 初期化されたマスター ノード。選挙に参加できます。

"ES_JAVA_OPTS=-Xms512m -Xmx512m": JVM メモリの最小値と最大値

volumes: データ ボリューム アドレス

ports: ポート マッピング

推奨学習: 「

docker ビデオ チュートリアル

以上がes は docker でデプロイできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

See all articles