通常情况下,我们使用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。

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

ELK冷热数据分离的更多相关文章

  1. EFK教程(3) - ElasticSearch冷热数据分离

    基于ElasticSearch多实例架构,实现资源合理分配.冷热数据分离 作者:"发颠的小狼",欢迎转载与投稿 目录 ▪ 用途 ▪ 架构 ▪ 192.168.1.51 elasti ...

  2. [elk]elasticsearch实现冷热数据分离

    本文以最新的elasticsearch-6.3.0.tar.gz为例,为了节约资源,本文将副本调为0, 无client角色 https://www.elastic.co/blog/hot-warm-a ...

  3. 分布式mysql 和 zk ( zookeeper )的分布式的区别 含冷热数据讨论

    zk ( zookeeper )的分布式仅仅指的是备份模式. 分布式 mysql 不仅仅要关注备份(从以往的半主,主主,到 paxos). (mysql 比 hbase 的region成熟, hdfs ...

  4. 【web前端面试题整理07】我不理解表现与数据分离。。。

    拜师传说 今天老夫拜师了,老夫有幸认识一个JS高手,在此推荐其博客,悄悄告诉你,我拜他为师了,他承诺我只收我一个男弟子..... 师尊刚注册的账号,现在博客数量还不多,但是后面点会有干货哦,值得期待. ...

  5. Robot Framework--05 案例设计之流程与数据分离

    转自:http://blog.csdn.net/tulituqi/article/details/7651049 这一讲主要说一下案例设计了.还记得我们前面做的case么?先打开浏览器访问百度,输入关 ...

  6. IOS第七天(2:UiTableView 加上数据分离)

    ****加上数据分离 #import "HMViewController.h" #import "HMStudent.h" @interface HMViewC ...

  7. RobotFramework 数据分离

    RobotFramework 数据分离分为三种 1. Run 添加参数 2. 外部的Python文件 3. 读取Excel Run 添加参数 (适用于jenkins) 使用-v 参数名:参数值 使用外 ...

  8. WPF MVVM UI分离之《交互与数据分离》

    在我们使用WPF过程中,不可避免并且超级喜欢使用MVVM框架. 那么,使用MVVM的出发点是视觉与业务逻辑分离,即UI与数据分离 诸如下面的问题: 删除操作,假如需要先执行一部分数据的处理,然后删除界 ...

  9. ElasticSearch5.X的冷热数据架构

    转载:https://my.oschina.net/xiaomaijiang/blog/826701 当使用ElasticSearch做大规模的时序数据分析的时候,我们建议使用基于时序的索引并且采用3 ...

随机推荐

  1. 厉害了,他用PS不是P照片而是……

    今儿要介绍的主角是战斗民族的设计师 Dmitriy Glazyrin,他这个人用PS做设计有个特点,专门P3D软件做出来的白模. 大家可以想象一下,一个什么颜色什么材质都没有的东西,把它楞是用PS加上 ...

  2. Eclipse中配置Tomcat服务器并创建标准Web目录

    Eclipse创建 Java Web 项目,并生成标准的目录结构 file --> New --> Dynamic Web project 填写 Project name (该名称项目的名 ...

  3. 学习C语言以及C语言基础调查

    学习声乐的心得 你有什么技能比大多人(超过90%以上)更好?   就我个人而言,在所有的兴趣之中,做得比较好的应该属于声乐. 针对这个技能的获取你有什么成功的经验?   我对于声乐处始于兴趣,成功的经 ...

  4. JVM 系列(二)内存模型

    02 JVM 系列(二)内存模型 一.JVM 内存区域 JVM 会将 Java 进程所管理的内存划分为若干不同的数据区域.这些区域有各自的用途.创建/销毁时间: 一. 线程私有区域 线程私有数据区域生 ...

  5. 解决maven update project 后项目jdk变成1.5的问题

    一.问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5. 二.原因分析 ...

  6. Git/Github的使用并与Eclipse整合(zz)

    Git/Github的使用并与Eclipse整合 您的评价:          收藏该经验       Git简介 Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一 ...

  7. .net调用word转换pdf出现80080005错误的解决办法

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80080005. 1:在服务器上安装offi ...

  8. redis2

    一.安装redis 1)     下载redis安装包 可去官网http://redis.io ,也可通过wget命令, wget http://download.redis.io/redis-sta ...

  9. python ui学习过程,使用pyqt5实现

    首先安装pyqt5的包,然后打开notebook就可以编写了.当然这样编写,也可以用designer进行. 它是pyqt5-tools的一个exe软件,\Anaconda3\Lib\site-pack ...

  10. django rest framemark

    一 内容回顾 1 开发者模式 普通开发方式:前后端放在一起开发 前后端分离:前后端只通过 JSON 来交流,组件化.工程化不需要依赖后端去实现 2 后端开发:为前端提供url接口,也就是API或者接口 ...