日志es集群里索引比较多,都是按天创建。
有一百多个索引,用的默认的dynamic mapping。每个索引的字段少的几十个,多的上千个,都是开发自己定义的,字段他们可以随时调整。
第二天的索引是预先创建的,但因为索引模板里没有设置默认mapping,这些索引的mapping信息是空的。
每到跨天的时间点,当数据写入新索引时,会产生大量的update_mapping操作,这时master会非常卡,严重时整个集群会卡住无法写入数据。
我想在自动创建索引的脚本基础上,加上设置mapping的操作,例如abc,新建abc-2020.11.11的索引时,取abc-2020.11.10或abc-2020.11.09的索引当前的mapping信息。
但这样的话,每次都会一直沿用旧的mapping信息,假如某个字段已经没有了,也会一直存在下去,或者名称相同,但数据的类型变了,还会导致冲突。
不知道有没有什么更好的处理方法呢?
有一百多个索引,用的默认的dynamic mapping。每个索引的字段少的几十个,多的上千个,都是开发自己定义的,字段他们可以随时调整。
第二天的索引是预先创建的,但因为索引模板里没有设置默认mapping,这些索引的mapping信息是空的。
每到跨天的时间点,当数据写入新索引时,会产生大量的update_mapping操作,这时master会非常卡,严重时整个集群会卡住无法写入数据。
我想在自动创建索引的脚本基础上,加上设置mapping的操作,例如abc,新建abc-2020.11.11的索引时,取abc-2020.11.10或abc-2020.11.09的索引当前的mapping信息。
但这样的话,每次都会一直沿用旧的mapping信息,假如某个字段已经没有了,也会一直存在下去,或者名称相同,但数据的类型变了,还会导致冲突。
不知道有没有什么更好的处理方法呢?
3 个回复
JiangJibo - 喊我雷锋
赞同来自:
envy666
赞同来自:
JoyPanda
赞同来自: