国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES 跨集群搜索 Cross-cluster search (CCS)

這篇具有很好參考價值的文章主要介紹了ES 跨集群搜索 Cross-cluster search (CCS)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

跨集群查詢

跨集群搜索(cross-cluster search)使你可以針對一個或多個遠程集群運行單個搜索請求。 例如,你可以使用跨集群搜索來篩選和分析存儲在不同數(shù)據(jù)中心的集群中的日志數(shù)據(jù)。

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

環(huán)境準備

角色

IP

系統(tǒng)

dev

172.16.122.244

CentOS 7.9

prod

172.16.122.245

CentOS 7.9

ES 軟件下載地址 https://elasticsearch.cn/download,我使用的版本是 7.13。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.13.2-x86_64.rpm
軟件安裝配置
rpm -ivh elasticsearch-7.13.0-x86_64.rpm
rpm -ivh kibana-7.13.2-x86_64.rpm
ES 集群配置

dev 集群配置 /etc/elasticsearch/elasticsearch.yml

cluster.name: dev
node.name: dev-1
network.host: 0.0.0.0
discovery.type: single-node

prod 集群配置 /etc/elasticsearch/elasticsearch.yml

cluster.name: prod
node.name: prod-1
network.host: 0.0.0.0
discovery.type: single-node

kibana 配置添加如下 /etc/kibana/kibana.yml

server.host: "0.0.0.0"

啟動集群

systemctl restart elasticsearch
systemctl restart kibana

ES 集群訪問使用 IP:9200,Kibana 集群訪問 IP:5601。

[root@iZ0xignxv65xzl2gq5x8t4Z ~]# curl localhost:9200
{
  "name" : "dev-1",
  "cluster_name" : "dev",
  "cluster_uuid" : "k45zaOJASSGHos3hnVFePw",
  "version" : {
    "number" : "7.13.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "5ca8591c6fcdb1260ce95b08a8e023559635c6f3",
    "build_date" : "2021-05-19T22:22:26.081971330Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

配置跨集群搜索

注冊 remote cluster

以下 cluster update settings API請求添加了兩個遠程集群:dev 和 prod,可以在其中一個集群配置,每個集群都配置一下。

PUT _cluster/settings
{
  "persistent": {
    "cluster": {
      "remote": {
        "dev": {
          "seeds": [
            "172.16.122.244:9300"
          ],
          "transport.compress": true,
          "skip_unavailable": true
        },
        "prod": {
          "seeds": [
            "172.16.122.245:9300"
          ],
          "transport.compress": true,
          "skip_unavailable": true
        }
      }
    }
  }
}

Elasticsearch 中有兩種重要的網(wǎng)絡通信機制需要了解:

  • HTTP 9200:用于 HTTP 通信綁定的地址和端口,這是 Elasticsearch REST API 公開的方式
  • transport 9300:用于集群內(nèi)節(jié)點之間的內(nèi)部通信

在 Kibana 的 Dev Tools 里面執(zhí)行上面的請求。

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

我們看到右邊有一個告警,提示集群沒有進行任何安全認證,不安全,這個我們后面再進行處理,先看下下目前跨集群查詢的情況。

我們接下來使用如下的命令來檢查我們的連接狀態(tài):

GET _remote/info

我們可以看到如下的響應信息:

{
  "prod" : {
    "connected" : true,
    "mode" : "sniff",
    "seeds" : [
      "172.16.122.245:9300"
    ],
    "num_nodes_connected" : 1,
    "max_connections_per_cluster" : 3,
    "initial_connect_timeout" : "30s",
    "skip_unavailable" : true
  },
  "dev" : {
    "connected" : true,
    "mode" : "sniff",
    "seeds" : [
      "172.16.122.244:9300"
    ],
    "num_nodes_connected" : 1,
    "max_connections_per_cluster" : 3,
    "initial_connect_timeout" : "30s",
    "skip_unavailable" : true
  }
}

它表明我們的連接是成功的。

這個時候我們在 prod kibana 中創(chuàng)建如下的 users 索引:

POST _bulk
{"index":{"_index":"users","_id":1}}
{"user":"張三","message":"今兒天氣不錯啊,出去轉(zhuǎn)轉(zhuǎn)去","uid":2,"age":20,"city":"北京","province":"北京","country":"中國","address":"中國北京市海淀區(qū)","location":{"lat":"39.970718","lon":"116.325747"}, "DOB": "1999-04-01"}
{"index":{"_index":"users","_id":2}}
{"user":"老劉","message":"出發(fā),下一站云南!","uid":3,"age":22,"city":"北京","province":"北京","country":"中國","address":"中國北京市東城區(qū)臺基廠三條3號","location":{"lat":"39.904313","lon":"116.412754"}, "DOB": "1997-04-01"}
{"index":{"_index":"users","_id":3}}
{"user":"李四","message":"happy birthday!","uid":4,"age":25,"city":"北京","province":"北京","country":"中國","address":"中國北京市東城區(qū)","location":{"lat":"39.893801","lon":"116.408986"}, "DOB": "1994-04-01"}
{"index":{"_index":"users","_id":4}}
{"user":"老賈","message":"123,gogogo","uid":5,"age":30,"city":"北京","province":"北京","country":"中國","address":"中國北京市朝陽區(qū)建國門","location":{"lat":"39.718256","lon":"116.367910"}, "DOB": "1989-04-01"}
{"index":{"_index":"users","_id":5}}
{"user":"老王","message":"Happy BirthDay My Friend!","uid":6,"age":26,"city":"北京","province":"北京","country":"中國","address":"中國北京市朝陽區(qū)國貿(mào)","location":{"lat":"39.918256","lon":"116.467910"}, "DOB": "1993-04-01"}
{"index":{"_index":"users","_id":6}}
{"user":"老吳","message":"好友來了都今天我生日,好友來了,什么 birthday happy 就成!","uid":7,"age":28,"city":"上海","province":"上海","country":"中國","address":"中國上海市閔行區(qū)","location":{"lat":"31.175927","lon":"121.383328"}, "DOB": "1991-04-01"}

我們可以在 prod kibana 中通過如下的命令來檢查 users 索引是否已經(jīng)被成功創(chuàng)建:

GET _cat/indices
green  open .kibana_7.13.2_001              1jXL4B6hQzePkxZCFLj0Gw 1 0 27    9   2.1mb   2.1mb
green  open .apm-custom-link                HyHW7sA5RMWBSfXTAl51hQ 1 0  0    0    208b    208b
green  open .kibana-event-log-7.13.2-000001 nyUtNHamSqCppZkT9IvLLA 1 0  1    0   5.6kb   5.6kb
green  open .apm-agent-configuration        XMHcg6sFQfKcHZFr_o34Bw 1 0  0    0    208b    208b
green  open .kibana_task_manager_7.13.2_001 Qdlj4I-mRLqg_1_AobYEQA 1 0 10 2278 345.9kb 345.9kb
yellow open users                           kSt0onMUToKyawJ0S_y19A 1 1  6    0  12.2kb  12.2kb

在上面,我們可以看到我們已經(jīng)成功地在 prod 上創(chuàng)建了 users 索引,那么我們怎么在 dev 上對這個進行搜索呢?

我們在 dev kibana 里,打入如下的命令:

GET prod:users/_search

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

從上面我們可以看出來,我們可以對位于 prod 的 users 索引進行搜索。

如果你配置了多個 remote 索引,你可以使用如下的方法來進行搜索:

GET *:users/_search

在這里,我們使用 *:users 來表示所有 remote cluster里含有 users 的集群。

配置索引模式

我們通過 API 的方式可以進行跨集群查詢了,那我們可以在 dev kibana 上面配置索引模式進行查詢。

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

也可以輸入 prod:users,配置特定 remote cluster 的索引。

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

至此跨集群查詢配置完成了,也可以設置互相查詢。

安全配置

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索

配置集群間安全認證9300

跨集群搜索啟用跨多個集群的聯(lián)合搜索。 將跨集群搜索與受保護集群一起使用時,所有集群都必須啟用 Elasticsearch 安全功能。必須允許本地群集(用于啟動跨群集搜索的群集)連接到遠程群集,這意味著用于簽署本地群集的 SSL/TLS 密鑰的 CA 必須受到遠程群集的信任。

用戶身份驗證是在本地群集上執(zhí)行的,并且用戶和用戶的角色(role)將傳遞到遠程群集。 遠程集群會根據(jù)其本地角色定義檢查用戶的角色,以確定允許用戶訪問哪些索引。

在對安全的 Elasticsearch 集群使用跨集群復制或跨集群搜索之前,請完成以下配置任務:

  1. Enable the Elasticsearch security features on every node in each connected cluster by setting xpack.security.enabled to true in elasticsearch.yml. Refer to the Elasticsearch security settings.
  2. Configure Transport Layer Security (TLS) on every node to encrypt internode traffic and authenticate nodes in the local cluster with nodes in all remote clusters. Refer to set up basic security for the Elastic Stack for the required steps to configure security.

此過程使用相同的 CA 為所有節(jié)點生成證書。或者,您可以將來自本地集群的證書添加為每個遠程集群中的可信 CA。您還必須將來自遠程集群的證書添加為本地集群上的受信任 CA。使用同一個 CA 為所有節(jié)點生成證書可簡化此任務。

首先創(chuàng)建 CA 證書。

/usr/share/elasticsearch/bin/elasticsearch-certutil ca

通過 CA 證書創(chuàng)建集群證書,我們這里所有節(jié)點統(tǒng)一使用一個證書,也可以給證書設置一個密碼。

/usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

證書生成在了 elasticsearch 的家目錄下面。

[root@iZ0xignxv65xzl2gq5x8t4Z ~]# ll /usr/share/elasticsearch/
total 620
drwxr-xr-x  2 root root   4096 Feb 22 15:56 bin
-rw-------  1 root root   3596 Feb 23 11:40 elastic-certificates.p12
-rw-------  1 root root   2672 Feb 23 11:37 elastic-stack-ca.p12
drwxr-xr-x  9 root root   4096 Feb 22 15:56 jdk
drwxr-xr-x  3 root root   4096 Feb 22 15:56 lib
-rw-r--r--  1 root root   3860 May 20  2021 LICENSE.txt
drwxr-xr-x 60 root root   4096 Feb 22 15:56 modules
-rw-rw-r--  1 root root 594096 May 20  2021 NOTICE.txt
drwxr-xr-x  2 root root   4096 May 20  2021 plugins
-rw-r--r--  1 root root   2710 May 20  2021 README.asciidoc

把證書elastic-certificates.p12 copy 到所有節(jié)點的 /etc/elasticsearch 目錄下面,并添加讀的權限。

chmod +r /usr/share/elasticsearch/elastic-certificates.p12
mv /usr/share/elasticsearch/elastic-certificates.p12 /etc/elasticsearch

然后再所有的節(jié)點的配置文件 elasticsearch.yml 增加如下配置:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

因為證書設置了密碼,我們需要添加證書密碼的配置。

cd /usr/share/elasticsearch/
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

然后重啟服務即可。

systemctl restart elasticsearch
配置集群安全認證9200

目前集群節(jié)點之間通信已經(jīng)使用了 TLS 加密,但是 kibana 連接 ES 還是沒有進行任何認證,我們這里配置用戶密碼的認證。

首先在 elasticsearch.yml 里面新增如下配置,開啟用戶認證:

xpack.security.enabled: true

然后重啟集群。

為集群配置內(nèi)置用戶密碼。

# 自動創(chuàng)建密碼
./bin/elasticsearch-setup-passwords auto
# 手動指定密碼
./bin/elasticsearch-setup-passwords interactive

當我們再次訪問 9200 端口的時候,就已經(jīng)報錯了,需要認證,同樣的 kibana 連接集群也需要認證。

修改 kibana 的配置文件,新增如下配置:

elasticsearch.username: "kibana_system"
elasticsearch.password: "123456"

重啟 kibana,登錄賬戶密碼即可。

參考文檔:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html#_prerequisites_10

https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-cross-cluster-search.html#ccs-remote-cluster-setup

https://www.elastic.co/guide/en/kibana/8.5/settings.html#server-publicBaseUrl

https://www.elastic.co/guide/en/elasticsearch/reference/8.6/remote-clusters-security.html

es跨集群搜索,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索文章來源地址http://www.zghlxwxcb.cn/news/detail-732354.html

到了這里,關于ES 跨集群搜索 Cross-cluster search (CCS)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Elasticsearch:跨集群復制應用場景及實操 - Cross Cluster Replication

    Elasticsearch:跨集群復制應用場景及實操 - Cross Cluster Replication

    通過跨集群復制(Cross Cluster Replication - CCR),你可以跨集群將索引復制并實現(xiàn): 在數(shù)據(jù)中心中斷時繼續(xù)處理搜索請求 防止搜索量影響索引吞吐量 通過在距用戶較近的地理位置處理搜索請求來減少搜索延遲 跨集群復制采用主動 - 被動模型。 你索引到領導者(leader)索引,并

    2024年02月07日
    瀏覽(23)
  • Elasticsearch:跨集群復制應用場景及實操 - Cross Cluster Replication
為集群之間建立互信

    Elasticsearch:跨集群復制應用場景及實操 - Cross Cluster Replication 為集群之間建立互信

    通過跨集群復制(Cross Cluster Replication - CCR),你可以跨集群將索引復制并實現(xiàn): 在數(shù)據(jù)中心中斷時繼續(xù)處理搜索請求 防止搜索量影響索引吞吐量 通過在距用戶較近的地理位置處理搜索請求來減少搜索延遲 跨集群復制采用主動 - 被動模型。 你索引到領導者(leader)索引,并

    2024年02月11日
    瀏覽(22)
  • elasticsearch(ES)分布式搜索引擎04——(數(shù)據(jù)聚合,自動補全,數(shù)據(jù)同步,ES集群)

    elasticsearch(ES)分布式搜索引擎04——(數(shù)據(jù)聚合,自動補全,數(shù)據(jù)同步,ES集群)

    **聚合(aggregations)**可以讓我們極其方便的實現(xiàn)對數(shù)據(jù)的統(tǒng)計、分析、運算。例如: 什么品牌的手機最受歡迎? 這些手機的平均價格、最高價格、最低價格? 這些手機每月的銷售情況如何? 實現(xiàn)這些統(tǒng)計功能的比數(shù)據(jù)庫的sql要方便的多,而且查詢速度非???,可以實現(xiàn)近

    2024年02月08日
    瀏覽(36)
  • SpringCloud分布式搜索引擎、數(shù)據(jù)聚合、ES和MQ的結合使用、ES集群的問題

    SpringCloud分布式搜索引擎、數(shù)據(jù)聚合、ES和MQ的結合使用、ES集群的問題

    目錄 數(shù)據(jù)聚合 聚合的分類 ?編輯?DSL實現(xiàn)Bucket聚合 ?編輯 ?DSL實現(xiàn)Metrics聚合?編輯 RestAPI實現(xiàn)聚合 ?對接前端接口?編輯 ?自定義分詞器?編輯 Completion suggester查詢 Completion suggester查詢 酒店數(shù)據(jù)自動補全 實現(xiàn)酒店搜索框界面輸入框的自動補全 ?數(shù)據(jù)同步問題分析?編輯 同

    2024年02月16日
    瀏覽(50)
  • 搜索引擎elasticsearch :安裝elasticsearch (包含安裝組件kibana、IK分詞器、部署es集群)

    搜索引擎elasticsearch :安裝elasticsearch (包含安裝組件kibana、IK分詞器、部署es集群)

    kibana可以幫助我們方便地編寫DSL語句,所以還要裝kibana 因為我們還需要部署kibana容器,因此需要讓es和kibana容器互聯(lián)。這里先創(chuàng)建一個網(wǎng)絡: 這里我們采用elasticsearch的7.12.1版本的鏡像,這個鏡像體積非常大,接近1G。不建議大家自己pull。 課前資料提供了鏡像的tar包: 大家將

    2024年02月16日
    瀏覽(27)
  • ES 安裝、search、index、doc

    ES 安裝、search、index、doc

    https://www.elastic.co/cn/ 下載 https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-5-3 https://www.elastic.co/cn/downloads/past-releases/kibana-8-5-3 解壓,點擊 D:elasticsearch-8.5.3binelasticsearch.bat 啟動后會報錯 修改配置 \\\"D:elasticsearch-8.5.3configelasticsearch.yml\\\" 配置文件會多出來一些配置 學習環(huán)境下

    2024年02月06日
    瀏覽(13)
  • es索引分片重新分配cluster.routing.allocation

    Index-level shard allocation filtering | Elasticsearch Guide [master] | Elastic index.routing.allocation.include.{attribute} Assign the index to a node whose? {attribute} ?has at least one of the comma-separated values. index.routing.allocation.require.{attribute} Assign the index to a node whose? {attribute} ?has? all ?of the comma-separated values. i

    2024年02月09日
    瀏覽(21)
  • ES 報錯 403 cluster_block_exception....

    錯誤日志如上,導致報錯的原因是 索引變?yōu)橹蛔x,因為磁盤上沒有更多空間。如果您使用了 95% 的磁盤空間。es 服務器將每 30 秒將所有索引變?yōu)橹蛔x模式。如果沒有剩余空間,則需要釋放足夠的空間或按照指南所述更改 es 配置。 解決思路 1.清理或者擴展磁盤空間 2.es服務器

    2024年02月11日
    瀏覽(21)
  • Elastic Search的RestFul API入門:如何進行ES的查詢-search

    在這篇教學文章中,我們將深入探討Elasticsearch的search功能。這是一個非常強大且靈活的功能,它允許我們對存儲在Elasticsearch中的數(shù)據(jù)進行各種復雜的查詢和分析。本章的目標是讓讀者理解如何進行Elasticsearch的搜索,以及如何在搜索過程中自主調(diào)整搜索參數(shù),從而靈活地控制

    2024年02月03日
    瀏覽(27)
  • elastic search es 分組統(tǒng)計 aggs 次數(shù)用法

    參考鏈接:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html es 各個版本的語法可能會不一樣,如果大家在用的時候發(fā)現(xiàn)語法報錯了,請查閱相關版本的語法。 剛需要按 ip 地址統(tǒng)計某個接口的訪問次數(shù),查了下 es 分組統(tǒng)計次數(shù) aggs 的用法,特此記錄一下,方

    2024年02月11日
    瀏覽(13)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包