bk-cmdb icon indicating copy to clipboard operation
bk-cmdb copied to clipboard

全文检索数据同步改造

Open wcy00000000000000 opened this issue 1 year ago • 0 comments

优化的功能:

  • 全文检索数据同步由使用Monstache调整为引入sync_server服务进行同步

从Monstache迁移到sync-server的迁移指引

背景

CMDB老版本的全文检索数据是通过Monstache插件和Elasticsearch进行同步的,存在以下问题:

  • CMDB使用的是Monstache提供的全量同步和MongoDB的oplog增量同步能力,性能较差
  • 需要额外引入Monstache组件,增加系统的复杂度和编译部署难度
  • CMDB使用的Monstache是单点部署的,稳定性较差

迁移指引

CMDB新版本中新增了sync server进行全文检索数据同步。从老版本迁移到新版本时流程如下:

  1. 停止Monstache服务
  2. 删除Monstache组件和插件
  3. 在common.yaml配置文件中新增全文检索同步相关的配置,其中indexShardNum和indexReplicaNum对应原Monstache插件的 extra.toml配置的elasticsearch-shard-num和elasticsearch-replica-num:
# syncServer相关配置
syncServer:
  # 全文检索同步相关配置
  fullTextSearch:
    # 是否开启全文检索同步, 默认为false
    enableSync: true
    # ES索引拥有的主分片数量,详情请参见:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html
    indexShardNum: 1
    # ES索引每个主分片拥有的副本数量,详情请参见:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html
    indexReplicaNum: 1
  1. 部署cmdb_syncserver服务。服务启动时会进行Elasticsearch索引的初始化和全量数据同步,耗时较长,如果数据同步中途服务退出,则需要通过数据同步小工具按需进行数据同步

wcy00000000000000 avatar Nov 09 '23 11:11 wcy00000000000000