一、题目
操作在cluster1(local)中操作索引task,复制到cluster2(remote)中
二、思考
CCR 我们可以对标MySQL 理解为为主从,后者备份。主节点负责写入数据,从/备节点负责同步时主节点的数据。
注意:这个特性是白金版付费功能,需要激活 30 天的 License,学习试用。
准备条件
1)准备两个集群
2)两个集群前置配置:xpack 设置true
3)从集群配置角色 remote_cluster_client
4)两个集群开启试用license
三、解题
Step 1、从集群配置主集群 leader
PUT /_cluster/settings
{"persistent": {"cluster": {"remote": {"leader": {"seeds": ["127.0.0.1:9300"]}}}}
}
通过如下命令可以在从集群监测一下remote配置是否成功。
GET /_remote/info
Step 2、集群配置权限
在cluster2(remote)上配置对索引的只读权限
POST /_security/role/remote-replication
{"cluster": ["read_ccr"],"indices": [{"names": ["task"],"privileges": ["monitor","read"]}]
}
在cluster1 (local)上设置写角色
POST /_security/role/remote-replication
{"cluster": ["manage_ccr"],"indices": [{"names": ["task"],"privileges": ["monitor","read","write","manage_follow_index"]}]
}
Setp 3、创建自动跟踪模式以自动跟踪在远程集群中创建的索引
step 4、验证
在local 增加数据
POST task/_bulk
{"create":{"_id":1}}
{"a":"key","b":"mom","c":"mom"}
{"create":{"_id":2}}
{"a":"key","b":"cake mix","c":"mom"}
{"create":{"_id":3}}
{"a":"key","b":"mom","c":"cake mix"}
{"create":{"_id":4}}
{"a":"cake mix","b":"mom","c":"mom"}
在remote 查询数据
GET task_leader/_search
查询结果
四、总结
- CCR 可以对标MySQL 理解为为主从。主节点负责写入数据,从/备节点负责同步时主节点的数据。
- CCR 特性是否付费功能,可以开启试用license 30天体验
- CCR 必须开启 Xpack
- 从集群配置角色 remote_cluster_client
参考资料
- Cross-cluster replication | Elasticsearch Guide [8.15] | Elastic
- Cross-cluster replication APIs | Elasticsearch Guide [8.1] | Elastic
送一波福利:
福利一
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
福利二
福利三