ES索引的rollover与跨机房部署两个问题

在ES中,使用索引的rollover API设定条件后,一旦满足触发条件,索引会自动形成新的索引,请问这种功能对索引的命名有要求吗?如果我将索引命名为zy,发生rollover后,新的索引名称会是什么?

是的,Elasticsearch 的 rollover API 对索引的命名存在特定要求,以便它可以自动地管理索引的生成和命名。

当使用 rollover API 时,通常会有一个别名(alias)作为滚动索引的引用,并且在初始化时会创建一个初始索引,其名称包含一个序列号。例如,如果你创建了一个名为 log-000001 的索引,并给它设置了一个别名 log,当满足 rollover 条件时,Elasticsearch 会创建一个新的索引 log-000002 并自动将 log 别名指向这个新的索引。

如果你的索引命名为 zy 而没有遵循带有序号的命名约定,rollover 操作将不会自动递增索引名称,因为它无法解析出当前索引的序号。在这种情况下,rollover API 需要一个额外的步骤,你需要自己指定新索引的名称。

例如,如果你的当前索引叫做 zy,你可以这样调用 rollover API:

POST /zy/_rollover
{
  "conditions": {
    "max_docs":   "1000000"
  },
  "new_index": "zy-000002"
}

在这个例子中,conditions 字段指定了触发 rollover 的条件,new_index 字段指定了新索引的名称。注意,你需要为新索引提供一个唯一的名称,否则 rollover 操作会因为新索引已经存在而失败。

通常情况下,建议使用包含序列号的索引名称,并通过别名管理对当前活跃索引的引用,这样 rollover API 可以自动处理索引的命名和切换。

ES的跨机房,跨机架部署中,如何基于分片层面进行分片分配策略?

在Elasticsearch中,您可以根据分片的层面来设置分片分配策略,以确保分片在不同的机房或机架中均匀分布,从而提高系统的容错能力和可用性。这通常是通过设置索引的分配规则来实现的,这些规则可以在索引创建时指定,也可以通过索引模板来设置。

以下是一些步骤,您可以尝试这些步骤来基于分片层面进行分片分配策略:
设置节点属性: 在每个Elasticsearch节点的配置文件(如elasticsearch.yml)中,您可以设置一个名为node.attr.rack_id的属性,用来标识节点的rack_id。例如:

node.attr.rack_id: rack1

对集群中的每个节点都进行这样的设置,确保不同机房或者机架的节点都有一个唯一的rack_id。
配置索引模板: 创建一个索引模板,并在模板中设置分配过滤规则。这样,基于该模板创建的新索引将遵循这些规则。例如:

PUT /_template/my_template
{
  "index_patterns": ["my_index*"],
  "settings": {
    "index.routing.allocation.include.rack_id": "rack1,rack2",
    "index.routing.allocation.require.rack_id": "rack1,rack2",
    "index.routing.allocation.exclude._ip": "192.168.1.1"
    # 更多设置...
  },
  "aliases": {
    "my_index_alias": {}
  },
  # ...其他配置...
}

在这个例子中,index.routing.allocation.include.rack_id指定了允许分配副本的rack_id列表。require参数表示索引的主分片和副本必须分配到指定的rack_id中。exclude参数可以用来排除特定的节点。
创建索引时指定配置: 如果您不使用索引模板,您可以在创建索引时直接指定分配过滤规则。例如:

PUT /my_index
{
  "settings": {
    "index.routing.allocation.include.rack_id": "rack1,rack2",
    "index.number_of_shards": 3,
    "index.number_of_replicas": 1
    # ...其他设置...
  },
  # ...其他配置...
}

在这个例子中,我们创建了一个名为my_index的索引,指定了3个主分片和1个副本,并且设置了分片分配策略,使得主分片和副本必须分配到rack1或rack2中。
请注意,这些设置只会影响新创建的索引或基于更新后的索引模板创建的索引。已经存在的索引不会自动应用这些新规则,除非您手动对它们进行rollover或重新分配。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容