09-Retiring Data-关闭旧数据(time-based)

Retiring Data

在time-based中,数据关联性很小,maybe我们只关心我们现在的数据。最近3天 1周 1个月。。。

你可以选择的办法是直接删除掉旧的index。。。

DELETE /logs_2013*

删除整个index会比删除一条条doc快很多也爽很多,但明显SB才这样做。。。

所以下面的办法才是官方建议的

migrate old indices 转移旧index

对于log data 总有index是hot index,而旧数据的index是很少访问的,所以新的数据应该指向new index,而且大部分的查询应该指向该index,而且这个node应该配置不错。

然而es咋知道哪个服务器是最好的服务器呢,你可以通过设置告诉系统,在启动节点的时候你可以通过配置强制告诉系统

./bin/elasticsearch --node.box_type strong

还可以对index进行设置

PUT /logs_2014-10-01

{

  "settings": {

    "index.routing.allocation.include.box_type" : "strong"

  }

}


POST /logs_2014-09-30/_settings

{

  "index.routing.allocation.include.box_type" : "medium"

}

optimize

以前的数据是很少发生改变的,如果merge每个shard为一个segment,则该shard会使用很少的资源,查询也会快很多,我们可以采用optimize api处理

如果去optimize被标记为strong的index则会占用IO并且影响index操作,但是设置为medium则不用太担心这些问题。

以前的数据会有replicas,这样会比较浪费建议是先关闭replicas,然后optimize,最后restore replicas即可

optimize的语句

POST /logs_2014-09-30/_settings

{ "number_of_replicas": 0 }


POST /logs_2014-09-30/_optimize?max_num_segments=1


POST /logs_2014-09-30/_settings

{ "number_of_replicas": 1 }


没了replicas会增加丢失数据的风险,建议是先建立快照再操作。


closing old indices

老的index实在没有人会操作了那就可以选择关闭了,不建议你直接删除掉万一哪天你还会看呢,所以采用关闭就行了,别做事做绝了,no zuo no die

关闭之后还会存在cluster,但不会和未关闭的争抢资源

关闭前建议刷新一下,这样就可以保证在transaction log中没有遗留下transaction,空的transaction log会让重现打开更快。

POST /logs_2014-01-*/_flush 

POST /logs_2014-01-*/_close 

POST /logs_2014-01-*/_open 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值