zoukankan      html  css  js  c++  java
  • ELK冷热数据分离

      通常情况下,我们使用ELK日志分析平台最常用的数据时间为1周或一个月(因业务场景不同,可能存在差别),时间比较长的数据没有特殊情况可能我们就没有必要再进行查询了,但是因业务需求或者作为凭证,这些日志需要长期保存,就需要用到elasticsearch冷热数据分离架构。

    节点名称 服务器类型 存储数据
    ES1 SSD hot
    ES2 SSD hot
    ES3 SSD hot
    ES4 SATA cold

    修改ES配置文件

    cluster.name: elk_cluster
    node.name: ES1
    node.attr.rack: r1
    node.attr.tag: hot
    path.data: /ES/data/
    path.logs: /usr/local/elasticsearch-6.4.3/logs
    node.master: true
    node.data: true
    network.host: ES1
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["ES1","ES2","ES3","ES4"]
    discovery.zen.minimum_master_nodes: 2
    discovery.zen.commit_timeout: 100s
    discovery.zen.publish_timeout: 100s
    discovery.zen.ping_timeout: 100s
    discovery.zen.fd.ping_timeout: 100s
    discovery.zen.fd.ping_interval: 10s
    discovery.zen.fd.ping_retries: 10
    action.destructive_requires_name: true
    http.cors.allow-origin: "*"
    

      向ES节点中添加标签属性,定义hot标签的分片数据存储至该Node。

    设置ES索引模板

    curl -XPUT -H "Content-Type: application/json" 'ES1:9200/_template/template_1' -d '{
        "order" : 0,
        "template" : "logstash-*",
        "settings" : {
            "index.routing.allocation.include.tag" : "hot"    }
    }'
    

    定义模板名称为template_1order:定义优先级,当多个模板同时匹配时order越大优先级越高、template:定义需要匹配的索引信息、settings:设置标签。

    curl -XGET -H "Content-Type: application/json" 'ES1:9200/_template/template_1'
    

    查看模板信息。

    更新索引标签

    curl -XPUT -H "Content-Type: application/json" 'ES1:9200/indexname/_settings' -d '{
        "index" : {
            "routing" : {
                "allocation" : {
                    "include" : {
                        "tag" : "cold"
                    }
                }
            }
        }
    }'
    

    将以前索引标签为hot的索引修改为cold,索引及分片信息会自动迁移至ES4即冷数据存储服务器。

    更新索引存储副本数

    curl -XPUT -H "Content-Type: application/json" 'ES1:9200/indexname/_settings' -d '{
        "number_of_replicas": 0
    }'
    

    将冷数据副本数修改为0。

      因为索引是按照时间进行命名的,所以我们可以根据时间写脚本,定期将数据标签和副本数进行修改,达到了冷热数据分离的效果。

  • 相关阅读:
    MySQL
    MySQL -数据库备份
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    MySQL
    53端口反弹shell
  • 原文地址:https://www.cnblogs.com/Cherry-Linux/p/9963933.html
Copyright © 2011-2022 走看看