首頁 >後端開發 >php教程 >Elasticsearch與MongoDB 資料同步及分散式叢集建置 (二)

Elasticsearch與MongoDB 資料同步及分散式叢集建置 (二)

WBOY
WBOY原創
2016-07-30 13:31:381291瀏覽
上一篇《Elasticsearch與MongoDB 資料同步及分散式叢集建置(一)》我們已經配置了一個Elasticsearch與MongoDB 資料同步高可用,可擴展以及分散式是ES的一個優勢和特色,擴展垂直擴展或者向上擴展,Vertical Scale/Scaling Up,或水平擴展或向外擴展,Horizo​​ntal Scale/Scaling Out。

一個節點會運行一個ES的實例,一個叢集則會包含擁有相同cluster.name的一個或多個節點,這些節點共同工作來完成資料共享和負載分擔。隨著節點被加入到集群,或從集群中被刪除,集群會透過自身調節來將資料均勻分佈。叢集中的一個節點會被選為主節點(Master Node),它負責管理整個叢集的變化,例如建立或刪除索引(Index),向叢集中新增或刪除節點。任何節點都可以成為主節點。在我們的例子中只有一個節點,所以它就承擔了主節點的功能。 ES透過分片將資料分佈在集群中。可以將分片想像成資料的容器。文件會被儲存在分片中,而分片則會被指派到叢集中的節點中。隨著集群的擴大和雖小,ES會自動地將分片在節點之間進行遷移,以確保集群能夠保持一種平衡。一個分片可以是主分片(Primary Shard)或是副本分片(Replica Shard)。索引中的每份文件都屬於一個主分片,所以主分片的數量決定了你的索引所能儲存的最大資料量。一個副本分片則只是一個主分片的拷貝。副本用來提供資料冗餘,用來保護資料在發生硬體故障是不會遺失,同時也能夠處理像搜尋和取得文件這樣的讀取請求。主分片的數量在索引建立之初就會被確定下來,而副本分片的數量則可以在任何時候被更改。

 具體原理可以參考官方文件:《life inside a cluster》演示水平擴展,這裡新添加一個ES實例的虛擬機,這樣我們之前的ES實例為:10.253.1.70,現在添加一個新的節點:10.253.1.71.,需要保證這兩個節點之間是可以互相通訊的.配置config/elasticsearch.yml10.253.1.70相關配置為:

10.253.1.70相關配置為:

cluster.name: elasticsearch_ryan

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

1

cluster.name: elasticsearch_ryan
2

node.name: 其實就是要保證有共同的cluster. name啟動10.253.1.71的ES服務,然後可以查看下節點集群的狀態:
-XPOST

"http://10.253.1.70:9200/_cluster/health"

02{

「cluster_name」:「elasticsearch_ryan」, 04
     

「狀態」:

05    「超時」 06

    

"number_of_nodes" : 2,07

     2、

08    「active_primary_shards」: 9,

09_    18,

10

    0,11

     0,

12    "unassigned_shards": 0

13}類:
green:所有的主分片(Primary Shard)和複製分片(Replica Shard)都處於活動狀態yellow:所有的主分片都處於活動狀態,但是並不是所有的副本分片都處於活躍狀態 red:不是所有的主分片都處於活動狀態
  • 這裡順便推薦一個ES分佈式集群管理工具 elasticsearch-head,插件方式安裝就可以了
  • sudo elasticsearch/bin/plugin -install mobz/elasticsearch
  • sudo elasticsearch/bin/plugin -install mobz/elasticsearch- head
  • 安裝後開啟管理介面 http://10.253.1.70:9200/_plugin/head/Elasticsearch與MongoDB 資料同步及分散式叢集Elasticsearch與MongoDB 資料同步及分散式叢集Elasticsearch与MongoDB 数据同步及分布式集群搭建

    Elasticsearch與MongoDB 資料同步及分散式叢集

    節點詳細信息,還可以執行索引的信息和查詢的功能,很方便,集群的狀態也很直觀。可以往mongo裡面繼續增加一些數據來測試下。 以上就介紹了Elasticsearch與MongoDB 資料同步及分散式叢集建立 (二),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

  • 陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn