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

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

更新時(shí)間:

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

背景信息

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

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

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

場(chǎng)景應(yīng)用

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

實(shí)例環(huán)境

場(chǎng)景應(yīng)用

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

說(shuō)明

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

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

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

說(shuō)明

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

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

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

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

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

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

準(zhǔn)備工作

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

    說(shuō)明

    兩個(gè)ES實(shí)例分別作為:

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

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

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

    說(shuō)明

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

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

    1. 登錄Leader集群的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。

    2. 在頁(yè)面左上角單擊菜單.png圖標(biāo),選擇Management > 開(kāi)發(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"
            }
          }
        }
      }

場(chǎng)景一:針對(duì)具體索引實(shí)現(xiàn)跨集群復(fù)制

步驟一:連接Leader集群

  1. 登錄Follower集群的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。

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

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

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

  5. 在添加遠(yuǎn)程集群頁(yè)面中,輸入Leader集群信息。

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

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

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

      說(shuō)明

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

  6. 單擊保存

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

API示例

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

參數(shù)

說(shuō)明

persistent

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

<remote_cluster>

替換為想要連接的遠(yuǎn)程集群的名稱。

mode

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

proxy_address

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

說(shuō)明

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

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

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

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

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

    參數(shù)

    說(shuō)明

    Remote cluster

    選擇您已連接的遠(yuǎn)程集群。

    Leader index

    待遷移的索引。

    Follower index

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

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

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

API示例:

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

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

參數(shù)

說(shuō)明

remote_cluster

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

leader_index

Leader集群索引名稱。

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

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

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

    GET leader-new-copy/_search

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

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

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

    GET leader-new-copy/_search

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

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

步驟一:連接Leader集群

  1. 登錄Follower集群的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。

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

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

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

  5. 在添加遠(yuǎn)程集群頁(yè)面中,輸入Leader集群信息。

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

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

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

      說(shuō)明

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

  6. 單擊保存

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

API示例

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

參數(shù)

說(shuō)明

persistent

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

<remote_cluster>

替換為想要連接的遠(yuǎn)程集群的名稱。

mode

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

proxy_address

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

說(shuō)明

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

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

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

  2. 單擊自動(dòng)跟隨模式(Auto-follow patterns)頁(yè)簽。

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

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

    參數(shù)

    說(shuō)明

    Remote cluster

    選擇您已連接的遠(yuǎn)程集群。

    Index patterns

    遠(yuǎn)程集群中待遷移的索引模式。

API示例

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

參數(shù)

說(shuō)明

remote_cluster

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

leader_index_patterns

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

follow_index_pattern

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

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

  1. 在Leader集群的Kibana控制臺(tái),執(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控制臺(tái),執(zhí)行如下命令,驗(yàn)證新索引是否成功遷移到Follower集群中。

    get _cat/indices?v

    image.png

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

準(zhǔn)備工作

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

    說(shuō)明
    • 兩個(gè)ES實(shí)例分別作為:

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

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

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

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

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

    1. 登錄Leader集群的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。

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

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

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

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

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

    說(shuō)明

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

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

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

      PUT myindex/_settings
      {
      "index.replication.type" : null
      }
    3. 打開(kāi)索引。

      POST myindex/_open

步驟一:連接遠(yuǎn)程集群

  1. 登錄本地集群的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。

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

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

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

  5. 在添加遠(yuǎn)程集群頁(yè)面中,輸入Leader集群信息。

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

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

      說(shuō)明

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

  6. 單擊保存

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

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

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

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

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

    參數(shù)

    說(shuō)明

    Remote cluster

    選擇您已連接的遠(yuǎn)程集群。

    Leader index

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

    Follower index

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

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

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

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

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

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

    GET myindex_follow/_search

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

    說(shuō)明

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

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

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

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

    說(shuō)明

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

常見(jiàn)問(wèn)題

  • Q:為什么在添加遠(yuǎn)程集群時(shí),可以使用9300端口。但是通過(guò)域名訪問(wèn)Elasticsearch集群時(shí),只能使用9200端口?

    A:9300端口實(shí)際上是開(kāi)放的。因?yàn)樯婕暗疆a(chǎn)品的安全策略,在SLB端口校驗(yàn)過(guò)程中,外網(wǎng)訪問(wèn)Elasticsearch域名的時(shí)候,只開(kāi)放了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