为了能够实现 CCR(跨集群复制 Cross-cluster replication) 及 CCS(跨集群搜索 Cross-cluster search ),我们必须让集群之间能够互信,这样才可以建立集群之间的连接。以通过以下方式建立集群之间的互信。在用于执行跨集群搜索的集群(本地集群)和所有远程集群之间启用信任关系。

  • 使用相同的证书颁发机构为所有连接的群集生成证书,或者
  • 从本地群集中将 CA 证书添加为每个远程群集中的受信任 CA(请参阅传输 TLS 设置)
  • 如果你是两个不同证书的集群,你可以在 elasticsearch.yml 中的 xpack.security.transport.ssl.certificate_authorities 添加对方的证书而得到受信,或者通过添加证书到 truststore 来实现。

集群之间的互信是通过 transport 层来实现的:

如上图,Elasticsearch 中有两种重要的网络通信机制:

  • HTTP:用于 HTTP 通信绑定的地址和端口,这是 Elasticsearch REST API 公开的方式
  • transport:用于集群内节点之间的内部通信

操作示例:

1、分别安装两个不同的集群并启动,配置如下:

  • 如上所示,有两个单节点的集群。它们分别位于两个不同的机器上。为了能够让它们建立互相,必须按照上面的方式来进行配置。

2、配置:config/elasticsearch.yml

3、创建集群互信:为上面的两个集群创建同样的一个证书。这是一个最容易的方案。安装证书可参考文章 “Elasticsearch:使用不同的 CA 更新安全证书 (一)” 来更新 CA 证书。在更新的过程中,我们必须注意的是:

  • 在所有的集群中,都使用同样的 CA 证书:ca.crt 及 ca.key
  • 在各自的集群的节点上,分别使用证书来生成 transport 层的证书,并导入到 CA 信任库 truststore

4、创建集群远程连接

  • 添加远程集群,如下图:

5、验证:

参考:


ES_CCS/R(一):建立集群之间的安全互信的更多相关文章

  1. 在不同版本号hdfs集群之间转移数据

    在不同版本号hdfs集群之间转移数据     最简单的办法就是把src集群的数据导到本地,然后起还有一个进程将本地数据传到des集群上去. 只是这有几个问题: 效率减少 占用本地磁盘空间 不能应付实时 ...

  2. 面向接口编程实现不改代码实现Redis单机/集群之间的切换

    开发中一般使用Redis单机,线上使用Redis集群,因此需要实现单机和集群之间的灵活切换 pom配置: <!-- Redis客户端 --> <dependency> < ...

  3. RabbitMQ集群出现过机器故障,网络异常等故障后,重启无法重新建立集群的终极解决方案

    由于机器掉电,网络故障等原因,RabbitMQ整个集群出现问题.重启RabbitMQ时,发现某些机器始终无法重新加入到集群中,而且还可能出现网络分区. 针对不同情况,可能选择 rabbitmqctl ...

  4. DistCp 集群之间数据拷贝工具

    DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具.可以将数据拷贝到另个一集群,也可以将另一个集群的数据拷贝到本集群.

  5. 集群之间配置 SSH无密码登录

    集群之间配置 SSH无密码登录 配置 ssh (1)基本语法 ssh 另一台电脑的 ip 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 # ss ...

  6. elasticsearch基于RBAC认证和集群之间的TLS通讯

    elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...

  7. 如何使用Hive&R从Hadoop集群中提取数据进行分析

    一个简单的例子! 环境:CentOS6.5 Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目 --有一个用户数据样本(表名huserinfo)10万数据左右: ...

  8. 如何使用npt结合crontab实现集群之间的时间同步

    当我们每个机器的时间都不一致时,假如有一个定时任务,定的10点启动执行.结果namenode十点了启动任务,可是分配到的执行节点DataNode才九点五十导致任务执行失败怎么办?这就需要将机器之间的时 ...

  9. KingbbaseES V8R6集群维护案例之---集群之间数据迁移

    案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...

  10. rabbitMQ集群部署以及集群之间同步

    MQ集群部署 期待的部署架构 其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中. 安装erlang,略.. 安装rabbit ...

随机推荐

  1. JDK8 ::用法(双冒号)

    JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下. List<String> lt = Arrays.asList(&q ...

  2. BeanUtils.copyProperties() 详解

    BeanUtils.copyProperties会进行类型转换:BeanUtils.copyProperties方法简单来说就是将两个字段相同的对象进行属性值的复制. 如果 两个对象之间存在名称不相同 ...

  3. Scala 不可变集合Set

    1 package chapter07 2 3 object Test06_ImmutableSet { 4 def main(args: Array[String]): Unit = { 5 // ...

  4. #排列组合,dp#LOJ 6069 「2017 山东一轮集训 Day4」塔

    题目传送门 分析 两点之间的最小距离其实是由两点高度最大值决定的, 求出长度为 \(n\) 的排列所需距离的方案数,剩下还能放的距离可以用插板法放进去. 也就是 \(\sum_{i=1}^{n^2}f ...

  5. 7. The Singular Value Decomposition(SVD)

    7.1 Singular values and Singular vectors The SVD separates any matrix into simple pieces. A is any m ...

  6. linux上操作 压缩包 的命令

    # tar.gz 解压缩 # 解压 tar -zxvf a.tar.gz # 压缩 tar -zcvf a.atr.gz a # zip 解压缩 # 压缩 zip -vr a.zip a/* # 解压 ...

  7. SQL中使用年月日来进行分组

    SQL按年月日进行分组 select count(project_name), create_at from table_a group by date_format(create_at, '%Y%m ...

  8. VSCode如何通过Ctrl+P快速打开node_modules中的文件

    背景 咱们新建一个NodeJS项目,必然会安装许多依赖包,因此经常需要查阅某些依赖包的源码文件.但是,由于node_modules目录包含的文件太多,出于性能考虑,在VSCode中默认情况下是禁止搜索 ...

  9. Java实现打包压缩文件或文件夹生成zip以实现多文件批量下载

    有时候在系统中需要一次性下载多个文件,但逐个下载文件比较麻烦.这时候,最好的解决办法是将所有文件打包成一个压缩文件,然后下载这个压缩文件,这样就可以一次性获取所有所需的文件了. 下面是一个名为Comp ...

  10. leetcode-数组中两元素的最大乘积

    题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums ...