ホームページ >バックエンド開発 >PHPチュートリアル >ElasticsearchとMongoDBのデータ同期と分散クラスタ構築(2)

ElasticsearchとMongoDBのデータ同期と分散クラスタ構築(2)

WBOY
WBOYオリジナル
2016-07-30 13:31:381289ブラウズ
前回の記事「ElasticsearchとMongoDBのデータ同期と分散クラスタ構築(1)」 高可用性、拡張性、分散性を特徴とするElasticsearchとMongoDBのデータ同期を構築しました。垂直 スケール/スケールアップ、または水平拡張または外側拡張、水平スケール/スケールアウト。

ノードは ES のインスタンスを実行し、クラスターには同じ cluster.name を持つ 1 つ以上のノードが含まれます。これらのノードは連携してデータ共有と負荷共有を完了します。クラスターにノードが追加またはクラスターから削除されると、クラスターはデータを均等に分散するように自ら調整します。クラスター内の 1 つのノードがマスター ノードとして選択されます (マスター ノード)、インデックス (インデックス) の作成または削除、クラスターへのノードの追加または削除など、クラスター全体の変更を管理します。どのノードもマスター ノードになることができます。この例ではノードが 1 つだけなので、マスター ノードの機能を引き受けます。 ES は、シャーディングを通じてクラスター全体にデータを分散します。シャードはデータのコンテナーと考え​​てください。ドキュメントはシャードに保存され、シャードはクラスター内のノード間で分散されます。クラスターが拡大および縮小すると、ES はクラスターのバランスを維持するためにノード間でシャードを自動的に移行します。シャードは、プライマリ シャード (プライマリ シャード) またはレプリカ シャード (レプリカ シャード) のいずれかになります。インデックス内の各ドキュメントはプライマリ シャードに属しているため、プライマリ シャードの数によってインデックスに保存できるデータの最大量が決まります。レプリカ シャードはプライマリ シャードの単なるコピーです。レプリカは、データの冗長性を提供し、ハードウェア障害時のデータの損失を保護し、ドキュメントの検索や取得などの読み取り要求を処理するために使用されます。プライマリ シャードの数はインデックス作成の開始時に決定されますが、レプリカ シャードの数はいつでも変更できます。

具体的な原則については、公式文書「life」を参照してください。 クラスター内》 ここでは、ES インスタンスの新しい仮想マシンが追加されているため、以前の ES インスタンスは 10.253.1.70 でした。これら 2 つのノードが相互に通信できることを確認します。 設定 config/elasticsearch.yml10.253.1.70 関連する設定は次のとおりです。 クラスター。名前: elasticsearch_ryan

22node.name:"cluster-node-1"
10.253.1.71相关配置为:

1node.name:"cluster-node-1"

10.253.1.71 相关構成:2node.name:"cluster-node-1"
其实就是要保证有共同的cluster.name启动10.253.1.71的ES服务,然后可以查看下节点集群的状态:

01"http://10.253.1.70:9200/_cluster/health"1
cluster.name: elasticsearch_ryan🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜2🎜🎜🎜🎜node.name:🎜🎜"cluster-node-1"🎜🎜🎜🎜🎜🎜🎜🎜これは要保護证有共通のcluster.name🎜启アニメーション 10.253.1.71 の ES サービス、その後、以下の点群の状態を閲覧できます:🎜🎜🎜🎜🎜🎜🎜01🎜🎜🎜🎜カール -XPOST 🎜🎜「http://10.253.1.70:9200/_cluster/health」🎜🎜🎜🎜🎜

0202{

03    "cluster_name":"elasticsearch_ryan",

04    "status":"green",{
🎜🎜🎜🎜🎜🎜03🎜 "cluster_name":"elasticsearch_ryan",🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜04🎜 "ステータス":"緑"、🎜🎜🎜🎜

0505    "timed_out":false,

06    "number_of_nodes" "timed_out"
:

false

07    "number_of_data_nodes"06
🎜🎜 🎜🎜「ノード数」🎜🎜: 2,🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜07🎜🎜🎜 🎜🎜「データノードの数」🎜🎜: 2、🎜🎜🎜🎜🎜

08    "active_primary_shards": 9、

0909    "active_shards" 「active_shards」
: 18,

10    "relocating_shards"10

「シャードの再配置」: 0,11    "initializing_shards"
🎜🎜🎜11🎜🎜🎜 🎜🎜「initializing_shards」🎜🎜: 0、🎜🎜🎜🎜🎜

12    "unassigned_shards": 0

1313}}
現在 2 つのノードがあることがわかります。ステータス テーブルにはクラスターのステータスが表示されます。具体的なステータスの意味:
  • 緑色: すべてプライマリシャード (プライマリ シャード) とレプリカ シャード (レプリカ シャード) は両方ともアクティブです
  • 黄色: すべてのプライマリ シャードがアクティブですが、すべてのレプリカ シャードがアクティブであるわけではありません
  • 赤: すべてのプライマリ シャードがアクティブであるわけではありません アクティブですここで推奨しますES 分散クラスター管理ツール elasticsearch-head は、プラグインとしてインストールできます sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head インストール後に管理インターフェイスを開きます http://10.253.1.70: 9200/_plugin/head/Elasticsearch与MongoDB 数据同步及分布式集群搭建

    ElasticsearchとMongoDBのデータ同期と分散クラスター構築

    分散クラスター内のノードの詳細情報が確認でき、インデックス情報やクエリ機能も可能です非常に便利で、クラスターのステータスも非常に直感的です。引き続き、mongo にデータを追加してテストできます。

    以上、Elasticsearch と MongoDB のデータ同期と分散クラスター構築 (2) について、関連内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

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