在ES查询时,有些数据是热点数据,这些数据是需要需要更好的机器配置的节点,当数据变得不是那么重要的时候,我们需要转到配置相对低的节点上。
比如热点新闻专题,我们需要更好的机器,热点过后,这些数据不再需要那么快的查询效率。这种情况我们可以通过ES的配置来实现。
具体配置方法
给节点打标签
# 标记一个 Hot 节点 bin/elasticsearch -E node.name=hotnode -E cluster.name=geektime -E path.data=hot_data -E node.attr.my_node_type=hot # 标记一个 warm 节点 bin/elasticsearch -E node.name=warmnode -E cluster.name=geektime -E path.data=warm_data -E node.attr.my_node_type=warm
增加my_node_type 属性,一个节点为 hot,一个为 warm 节点。
# 通过下面的命令再kibana查看节点
GET /_cat/nodeattrs?v
将索引创建到热节点
PUT xinwen2019
{
"settings":{
"number_of_shards":2,
"number_of_replicas":0,
"index.routing.allocation.require.my_node_type":"hot"
}
}
创建索引时指定热节点。
index.routing.allocation.require.my_node_type
PUT
xinwen2019
/_doc/1
{
"key":"value"
}
当热点过后将数据转移到冷节点。
PUT
xinwen2019
/_settings
{
"index.routing.allocation.require.my_node_type":"warm"
}