面试题答案
一键面试基本步骤
- 准备工作:确保各个集群间网络畅通,Elasticsearch版本兼容。
- 在源集群配置:修改
elasticsearch.yml
文件,开启跨集群搜索功能,添加如下配置:
cluster.remote.connect: true
- 在目标集群配置:同样修改
elasticsearch.yml
文件,配置跨集群搜索相关参数,例如:
cluster.remote.<remote_cluster_alias>.seeds: ["<ip1>:<port1>", "<ip2>:<port2>"]
cluster.remote.<remote_cluster_alias>.skip_unavailable: true
这里<remote_cluster_alias>
是给远程集群起的别名,<ip1>:<port1>
等是远程集群节点的地址和端口,skip_unavailable
表示当远程集群不可用时是否跳过。
4. 重启集群:修改配置后,重启源集群和目标集群,使配置生效。
5. 创建跨集群索引:使用_remote
API来创建跨集群索引,例如:
PUT /<local_index>/_remote/<remote_cluster_alias>/<remote_index>
<local_index>
是本地集群要创建的索引名,<remote_cluster_alias>
是远程集群别名,<remote_index>
是远程集群上的索引名。
主要配置文件及关键参数含义
- elasticsearch.yml
- cluster.remote.connect:开启跨集群搜索功能。
- cluster.remote.<remote_cluster_alias>.seeds:指定远程集群节点的地址和端口,用于连接远程集群。
- cluster.remote.<remote_cluster_alias>.skip_unavailable:控制当远程集群不可用时的行为,
true
表示跳过,不抛出异常。