日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過CCR跨集群復(fù)制解決跨集群容災(zāi)場景

Elasticsearch(簡稱ES)集群出現(xiàn)災(zāi)難性事件,例如,硬件故障、軟件錯誤、數(shù)據(jù)中心故障、自然災(zāi)害或其他導(dǎo)致服務(wù)中斷的情況,可使用跨集群復(fù)制CCR(Cross Cluster Replication)實現(xiàn)跨地域或跨資源的容災(zāi)能力,本文分別介紹新老網(wǎng)絡(luò)架構(gòu)下ES實現(xiàn)CCR的過程。

背景信息

CCR是開源ES在platinum版本中發(fā)布的一個商業(yè)特性。購買阿里云ES實例后,您無需額外付費,只需要簡單配置,即可使用CCR功能。

CCR用于容災(zāi)恢復(fù)場景,對于分布在同VPC下不同可用區(qū)的ES集群,可以通過CCR進行數(shù)據(jù)備份。當(dāng)其中一個集群(如遠程集群)發(fā)生故障時,通過訪問其他集群(本地集群)來獲取故障集群的數(shù)據(jù)進行恢復(fù),保證數(shù)據(jù)不丟失。

使用CCR功能,需要準備兩種類型的集群。一個是遠程集群,即提供源數(shù)據(jù)(Leader index)的集群;一個是本地集群,即訂閱數(shù)據(jù)(Follower index)的集群。該功能為被動復(fù)制,即所有復(fù)制任務(wù)都是由本地集群執(zhí)行。同時支持批量實時遷移數(shù)據(jù),更多詳情請參見Cross-cluster replication

場景應(yīng)用

依據(jù)您的業(yè)務(wù)場景選擇解決方案:

實例環(huán)境

場景應(yīng)用

兩個阿里云ES集群均創(chuàng)建于新網(wǎng)絡(luò)架構(gòu)下。

說明

僅支持7.7版本以上的阿里云ES實例。

通過NLB和PrivateLink實現(xiàn)跨集群CCR

兩個阿里云ES集群均創(chuàng)建于舊網(wǎng)絡(luò)架構(gòu)下,且處于同一VPC。

說明

僅支持6.7.0及以上版本的單可用區(qū)的阿里云ES實例。

通過配置實例網(wǎng)絡(luò)互通實現(xiàn)跨集群CCR

說明
  • CCR在不同實例網(wǎng)絡(luò)環(huán)境的使用方案也適用于CCS功能在類似場景下的應(yīng)用。更多信息,請參見modules-cross-cluster-search

  • 阿里云ES實例不支持與自建ES實例進行跨集群復(fù)制。

  • 2020年10月之前創(chuàng)建的ES集群屬于舊網(wǎng)絡(luò)架構(gòu),2020年10月及之后創(chuàng)建的ES集群屬于新網(wǎng)絡(luò)架構(gòu)。

通過NLB和PrivateLink實現(xiàn)跨集群CCR

準備工作

  • 創(chuàng)建兩個7.7及以上版本的阿里云ES實例,且兩個ES實例在相同地域和可用區(qū)下。

    說明

    兩個ES實例分別作為:

    • 遠程集群Leader Cluster: 指原始數(shù)據(jù)所在的集群。

    • 本地集群Follower Cluster: 從Leader cluster中的一個或多個索引復(fù)制數(shù)據(jù)。

  • 實現(xiàn)兩個ES實例間私網(wǎng)互通。具體操作,請參見通過NLB和PrivateLink實現(xiàn)阿里云ES實例間私網(wǎng)互通

    說明

    通過NLB掛載Leader集群的域名IP,將Follower通過私網(wǎng)連接到Leader集群。

  • 在Leader集群中創(chuàng)建待遷移的索引。

    1. 登錄Leader集群的Kibana控制臺。具體操作,請參見登錄Kibana控制臺

    2. 在頁面左上角單擊菜單.png圖標(biāo),選擇Management > 開發(fā)工具Dev Tools

    3. 執(zhí)行以下命令,在Leader集群中創(chuàng)建待遷移的索引。

      PUT /leader-new
      {
        "settings": {
          "number_of_shards": 1,
          "number_of_replicas": 0
        },
        "mappings": {
          "properties": {
            "name": {
              "type": "text"
            },
            "age": {
              "type": "integer"
            }
          }
        }
      }

場景一:針對具體索引實現(xiàn)跨集群復(fù)制

步驟一:連接Leader集群

  1. 登錄Follower集群的Kibana控制臺。具體操作,請參見登錄Kibana控制臺

  2. 在頁面左上角單擊菜單.png圖標(biāo),選擇Management > Stack Management

  3. 管理(Management)頁面的左側(cè)導(dǎo)航欄,單擊遠程集群(Remote Clusters)。

  4. 單擊添加遠程集群(Add a remote cluster)。

  5. 在添加遠程集群頁面中,輸入Leader集群信息。

    • 名稱(Name):Leader集群的名稱,不可重復(fù)。

    • 連接模式(Connection mode):打開使用代理模式(Use proxy mode)開關(guān)。

    • 代理地址(Proxy address):代理服務(wù)器地址,格式為終端節(jié)點域名:9300,終端節(jié)點域名即PrivateLink終端節(jié)點服務(wù)下的終端節(jié)點ID的域名。

      說明

      由于CCR功能是Kibana通過數(shù)據(jù)節(jié)點之間的TCP端口(9300)訪問數(shù)據(jù)節(jié)點IP的形式來進行網(wǎng)絡(luò)互通,因此不支持HTTP端口(9200)訪問。

  6. 單擊保存

    保存后,系統(tǒng)會自動連接Leader集群。連接成功后,連接狀態(tài)顯示連接(Connected)

API示例

PUT /_cluster/settings 
{
	"persistent": {
		"cluster": {
			"remote": {
				"<remote_cluster>": {
					"mode": "PROXY",
					"proxy_address": "終端節(jié)點域名:9300"
				}
			}
		}
	}
}

參數(shù)

說明

persistent

設(shè)置會持久保存,即使在集群重啟后也會保留。

<remote_cluster>

替換為想要連接的遠程集群的名稱。

mode

僅支持proxy模式。本地集群通過配置的代理地址來訪問遠程集群。所有的遠程請求都會發(fā)送到這個代理地址,并由代理服務(wù)器轉(zhuǎn)發(fā)到遠程集群的合適節(jié)點。

proxy_address

代理服務(wù)器地址,格式為PrivateLink終端節(jié)點服務(wù)下的終端節(jié)點ID的域名:9300

說明

本文CCR/CCS使用的是Elasticsearch的傳輸層(Transport layer),需要使用9300端口進行通訊。

步驟二:配置跨集群復(fù)制

  1. 在Follower集群Kibana控制臺的管理(Management)頁面,在左側(cè)導(dǎo)航欄單擊跨集群復(fù)制(Cross-Cluster Replication)。

  2. 單擊創(chuàng)建Follower索引(Create a follower index)。

  3. 配置跨集群復(fù)制。

    參數(shù)

    說明

    Remote cluster

    選擇您已連接的遠程集群。

    Leader index

    待遷移的索引。

    Follower index

    遷移數(shù)據(jù)生成的索引。索引名稱不可重復(fù)。

  4. 單擊創(chuàng)建(Create)。

    創(chuàng)建成功后,索引狀態(tài)顯示為Active

API示例:

創(chuàng)建Follower集群索引時,必須引用Leader集群以及在Leader集群中創(chuàng)建的領(lǐng)導(dǎo)者索引。

PUT /leader-old-copy/_ccr/follow
{
  "remote_cluster": "es-leader",
  "leader_index": "leader-old"
}

參數(shù)

說明

remote_cluster

連接的Follower集群的名稱,與步驟一的參數(shù)對應(yīng)。

leader_index

Leader集群索引名稱。

步驟三:驗證數(shù)據(jù)備份結(jié)果

  1. 在Leader集群的Kibana控制臺,執(zhí)行如下命令,在Leader集群的索引中插入數(shù)據(jù)。

    POST leader-new/_doc/
    {
      "name":"Jack",
      "age":40
    }
  2. 在Follower集群的Kibana控制臺,執(zhí)行如下命令,驗證數(shù)據(jù)是否遷移成功。

    GET leader-new-copy/_search

    返回結(jié)果如下,Leader集群的Leader索引(leader-new)中的數(shù)據(jù),已通過CCR功能復(fù)制到了Follower集群的Follower索引(leader-new-copy)中。image.png

  3. 在Leader集群中,重新插入一條數(shù)據(jù),驗證增量數(shù)據(jù)是否實時同步。

    POST leader-new/_doc/
    {
      "name":"Pony",
      "age":50
    }
  4. 數(shù)據(jù)插入后,在Follower集群中執(zhí)行如下命令。

    GET leader-new-copy/_search

    從查詢結(jié)果可以看到,通過CCR可以實現(xiàn)增量數(shù)據(jù)的實時同步。image.png

場景二:指定索引模式實現(xiàn)批量跨集群復(fù)制

步驟一:連接Leader集群

  1. 登錄Follower集群的Kibana控制臺。具體操作,請參見登錄Kibana控制臺

  2. 在頁面左上角單擊菜單.png圖標(biāo),選擇Management > Stack Management

  3. 管理(Management)頁面的左側(cè)導(dǎo)航欄,單擊遠程集群(Remote Clusters)。

  4. 單擊添加遠程集群(Add a remote cluster)。

  5. 在添加遠程集群頁面中,輸入Leader集群信息。

    • 名稱(Name):Leader集群的名稱,不可重復(fù)。

    • 連接模式(Connection mode):打開使用代理模式(Use proxy mode)開關(guān)。

    • 代理地址(Proxy address):代理服務(wù)器地址,格式為終端節(jié)點域名:9300,終端節(jié)點域名即PrivateLink終端節(jié)點服務(wù)下的終端節(jié)點ID的域名。

      說明

      由于CCR功能是Kibana通過數(shù)據(jù)節(jié)點之間的TCP端口(9300)訪問數(shù)據(jù)節(jié)點IP的形式來進行網(wǎng)絡(luò)互通,因此不支持HTTP端口(9200)訪問。

  6. 單擊保存

    保存后,系統(tǒng)會自動連接Leader集群。連接成功后,連接狀態(tài)顯示連接(Connected)

API示例

PUT /_cluster/settings 
{
	"persistent": {
		"cluster": {
			"remote": {
				"<remote_cluster>": {
					"mode": "PROXY",
					"proxy_address": "終端節(jié)點域名:9300"
				}
			}
		}
	}
}

參數(shù)

說明

persistent

設(shè)置會持久保存,即使在集群重啟后也會保留。

<remote_cluster>

替換為想要連接的遠程集群的名稱。

mode

僅支持proxy模式。本地集群通過配置的代理地址來訪問遠程集群。所有的遠程請求都會發(fā)送到這個代理地址,并由代理服務(wù)器轉(zhuǎn)發(fā)到遠程集群的合適節(jié)點。

proxy_address

代理服務(wù)器地址,格式為PrivateLink終端節(jié)點服務(wù)下的終端節(jié)點ID的域名:9300

說明

本文CCR/CCS使用的是Elasticsearch的傳輸層(Transport layer),需要使用9300端口進行通訊。

步驟二:配置跨集群復(fù)制

  1. 在Follower集群Kibana控制臺的管理(Management)頁面,在左側(cè)導(dǎo)航欄單擊跨集群復(fù)制(Cross-Cluster Replication)。

  2. 單擊自動跟隨模式(Auto-follow patterns)頁簽。

  3. 單擊創(chuàng)建自動跟隨模式(Create auto-follow pattern)。

    配置跨集群復(fù)制。

    參數(shù)

    說明

    Remote cluster

    選擇您已連接的遠程集群。

    Index patterns

    遠程集群中待遷移的索引模式。

API示例

PUT /_ccr/auto_follow/beats 
{
	"remote_cluster": "es-leader",
	"leader_index_patterns": 
	[
		"leader-*"
	],
	"follow_index_pattern": "{{leader_index}}-copy"
}

參數(shù)

說明

remote_cluster

連接的遠程集群的名稱,與步驟一參數(shù)對應(yīng)。

leader_index_patterns

匹配遠程集群中哪些索引需要被復(fù)制。

follow_index_pattern

指定在Follower集群中創(chuàng)建的索引的名稱模式,CCR將依據(jù)之后按照索引模式創(chuàng)建的新索引進行跨集群復(fù)制。

步驟三:驗證數(shù)據(jù)備份結(jié)果

  1. 在Leader集群的Kibana控制臺,執(zhí)行以下命令,在Leader集群中添加索引。

    PUT /leader-new
    {
      "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0
      },
      "mappings": {
        "properties": {
          "name": {
            "type": "text"
          },
          "age": {
            "type": "integer"
          }
        }
      }
    }
  2. 在Follower集群的Kibana控制臺,執(zhí)行如下命令,驗證新索引是否成功遷移到Follower集群中。

    get _cat/indices?v

    image.png

通過配置實例網(wǎng)絡(luò)互通實現(xiàn)跨集群CCR

準備工作

  1. 準備兩個相同版本(6.7及以上)的阿里云ES實例,且兩個ES實例在同一專有網(wǎng)絡(luò)和虛擬交換機下。

    說明
    • 兩個ES實例分別作為:

      • 遠程集群Leader Cluster:原始數(shù)據(jù)所在的集群。

      • 本地集群Follower Cluster:從Leade集群中的一個或多個索引復(fù)制數(shù)據(jù)。

    • 如果遠程集群上已經(jīng)上傳了同義詞文件,本地集群中也需要上傳一致的同義詞文件。

  2. 在遠程集群中添加需要進行網(wǎng)絡(luò)互通的本地集群。具體操作,請參見通過配置實例網(wǎng)絡(luò)互通使用跨集群搜索功能

  3. 在Leader集群中創(chuàng)建待遷移的索引。

    1. 登錄Leader集群的Kibana控制臺。具體操作,請參見登錄Kibana控制臺

    2. 在頁面左上角單擊菜單.png圖標(biāo),選擇Management > 開發(fā)工具Dev Tools

    3. 執(zhí)行以下命令,在Leader集群中創(chuàng)建待遷移的索引。

      PUT myindex
      {
        "settings": {
          "index.soft_deletes.retention.operations": 1024,
          "index.soft_deletes.enabled": true
        }
      }
      說明
      • 對于7.0及以下版本的Elasticsearch實例,在創(chuàng)建索引時,需要開啟soft_deletes屬性,否則會報錯。您可以通過GET /<yourIndexName>/_settings?pretty命令,查看是否開啟了soft_deletes屬性。開啟時,您可以在返回結(jié)果中看到soft_deletes屬性的配置。

      • 如果您需要遷移已創(chuàng)建的索引,需要通過重建索引來開啟soft_deletes屬性。

  4. 關(guān)閉待遷移的索引的物理復(fù)制功能。

    說明

    對于6.7.0版本的阿里云Elasticsearch實例,系統(tǒng)會默認為新建索引開啟物理復(fù)制功能。使用CCR功能時,需要先關(guān)閉物理復(fù)制功能。

    1. 關(guān)閉索引。

      POST myindex/_close
    2. 更新索引settings,關(guān)閉物理復(fù)制功能。

      PUT myindex/_settings
      {
      "index.replication.type" : null
      }
    3. 打開索引。

      POST myindex/_open

步驟一:連接遠程集群

  1. 登錄本地集群的Kibana控制臺。具體操作,請參見登錄Kibana控制臺

  2. 在頁面左上角單擊菜單.png圖標(biāo),選擇Management > Stack Management

  3. 管理(Management)頁面的左側(cè)導(dǎo)航欄,單擊遠程集群(Remote Clusters)。

  4. 單擊添加遠程集群(Add a remote cluster)。

  5. 在添加遠程集群頁面中,輸入Leader集群信息。

    • 名稱(Name):遠程集群的名稱,不可重復(fù)。

    • 代理地址(Proxy address):需要配置為遠程集群的節(jié)點的IP地址:9300。遠程集群的節(jié)點的IP地址,可在遠程集群的Kibana控制臺中,使用GET /_cat/nodes?v命令獲取。所配置的節(jié)點中必須包含主節(jié)點,建議您配置多個子節(jié)點,確保當(dāng)主節(jié)點不可用時,可以繼續(xù)使用跨集群復(fù)制功能。

      說明

      由于CCR功能是Kibana通過數(shù)據(jù)節(jié)點之間的TCP端口(9300)訪問數(shù)據(jù)節(jié)點IP的形式來進行網(wǎng)絡(luò)互通,因此不支持HTTP端口(9200)訪問。

  6. 單擊保存

    保存后,系統(tǒng)會自動連接遠程集群。連接成功后,連接狀態(tài)顯示連接(Connected)

步驟二:配置跨集群復(fù)制

  1. 在本地集群Kibana控制臺的Management頁面,在左側(cè)導(dǎo)航欄單擊跨集群復(fù)制(Cross-Cluster Replication)。

  2. 單擊創(chuàng)建Follower索引(Create a follower index)。

  3. 配置跨集群復(fù)制。

    參數(shù)

    說明

    Remote cluster

    選擇您已連接的遠程集群。

    Leader index

    待遷移的索引。本文使用準備工作中創(chuàng)建的myindex索引。

    Follower index

    遷移數(shù)據(jù)生成的索引。索引名稱不可重復(fù)。

  4. 單擊創(chuàng)建(Create)。

    創(chuàng)建成功后,索引狀態(tài)顯示為Active

步驟三:驗證數(shù)據(jù)備份結(jié)果

  1. 在遠程集群的Kibana控制臺,執(zhí)行如下命令,在遠程集群中插入數(shù)據(jù)。

    POST myindex/_doc/
    {
      "name":"Jack",
      "age":40
    }
  2. 在本地集群的Kibana控制臺,執(zhí)行如下命令,驗證數(shù)據(jù)是否遷移成功。

    GET myindex_follow/_search

    返回結(jié)果如下。遠程集群的Leader索引(myindex)中的數(shù)據(jù),已通過CCR功能復(fù)制到了本地集群的Follower索引(myindex_follow)中。數(shù)據(jù)同步結(jié)果

    說明

    Follower索引為只讀狀態(tài),如果需要和普通索引一樣寫入數(shù)據(jù),需要先轉(zhuǎn)換成普通索引。詳細信息,請參見使用Elasticsearch跨集群復(fù)制進行跨數(shù)據(jù)中心復(fù)制

  3. 在遠程集群中,重新插入一條數(shù)據(jù),驗證增量數(shù)據(jù)是否實時同步。

    POST myindex/_doc/
    {
      "name":"Pony",
      "age":50
    }
  4. 數(shù)據(jù)插入后,在本地集群中進行查看,結(jié)果如下。驗證數(shù)據(jù)同步的實時性

    從以上結(jié)果可以看到,通過CCR可以實現(xiàn)增量數(shù)據(jù)的實時同步。

    說明

    您也可以通過CCR功能的API,進行跨集群復(fù)制相關(guān)操作。詳細信息,請參見Cross-cluster replication APIs

常見問題

  • Q:為什么在添加遠程集群時,可以使用9300端口。但是通過域名訪問Elasticsearch集群時,只能使用9200端口?

    A:9300端口實際上是開放的。因為涉及到產(chǎn)品的安全策略,在SLB端口校驗過程中,外網(wǎng)訪問Elasticsearch域名的時候,只開放了9200端口。

  • Q:如何查看CCR同步狀態(tài)?

    A:在Kibana中執(zhí)行命令GET /_ccr/stats,查看failed分片數(shù)量,即number_of_failed_follow_indices的值。

    • 如果failed分片數(shù)量為0,則同步是正常的。

    • 如果failed分片數(shù)量不是0,可在follow集群執(zhí)行以下命令恢復(fù)同步:

      POST /<follower_index>/_ccr/pause_follow
      POST /<follower_index>/_ccr/resume_follow