ElasticSearch网站的“退休数据”文档中描述的老化策略对我不起作用

时间:2015-01-01 00:42:56

标签: optimization elasticsearch cluster-computing logstash kibana

我正在AWS上设置一个由两台机器组成的新集群,作为ELK日志服务器堆栈。我已经在新集群中导入了4个月的日志数据。

我正在尝试重现ES网站上“退休数据”文档中解释的行为:

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/retiring-data.html

具体来说,我正在尝试使索引从主计算机移动到辅助计算机。我已经通过elasticsearch.yml文件将node.box_type设置设置为主计算机上的“recent”和辅助计算机上的“old”。

要将索引从群集中的主计算机(“recent”)迁移到辅助计算机(“较旧”),我正在执行以下一组API调用:

curl -XPUT http://es1.vpc3.ftaws.net:9200/logstash-2014.08.02/_settings -d '{
    "index" : {"index.routing.allocation.include.box_type" : "older"}}'

当我这样做时,5个分片中只有1个交换了实时和备份副本的位置,以便实时副本在辅助机器上。所以我在“最近”获得了4个分片,而在“年龄”上分享了一个分片。更重要的是,如果我最初只启动辅助计算机并让索引重建,以便每个索引的所有5个活动分片都在辅助计算机上,然后调出主计算机,然后执行上述调用,5个中的4个碎片交换,以便与第一种情况一样,只有一个碎片在辅助机器上以其实时副本结束。

这是一张关于elasticsearch-head控制台应用程序发生了什么的图片:

enter image description here

我在前两个显示的索引中运行了上述调用。请注意,在这两种情况下,移动的一个分片是不同的。第三个显示的索引是“之前”状态,这是我尚未尝试迁移的索引。我已经使用API​​确认了每个分片的状态,以确保不仅仅是控制台应用程序搞砸了。

以下是两台机器设置的重要部分

初​​级:

{
    "name": "es1-vpc3",
    ...
    "attributes": {
        "box_type": "recent"
    },
    ...
    "cluster": {
        "name": "es-vpc3"
    },
    "node": {
        "name": "es1-vpc3",
        "box_type": "recent"
    },
    ....
}

次级:

{
    "name": "es2-vpc3",
    ...
    "attributes": {
        "box_type": "older"
    },
    ...
    "cluster": {
        "name": "es-vpc3"
    },
    "node": {
        "name": "es2-vpc3",
        "box_type": "older"
    },
    ....
}

我错过了什么?这是一个错误吗?

TIA提供您可以提供的任何帮助。

史蒂夫

0 个答案:

没有答案