通常情况下,我们使用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. 谁说delphi没有IOCP库,delphi新的IOCP类库,开源中

    DIOCP Demo说明 下载地址 https://code.google.com/p/diocp/ 特地为DIOCP开设了一个群:320641073,欢迎学习的IOCP的童鞋进入讨论. 核心作者:  ...

  2. linux安全分析

    history 查看历史命令 last | grep -i norco //最后一次登录时间

  3. maven项目springmvc导包失败-JsonProcessingException

    昨天搞了好久还是没有解决,今天把springaop小demo敲一遍时,启动tomcat时报错: org.springframework.beans.factory.BeanCreationExcept ...

  4. mysql cmd 无法登录

    第一次折腾mysql诉苦记 版本注明: mysql 5.7.21 本地部署mysql,配置完成后(配置没有问题) cmd命令连接mysql: mysql -uroot -p 提示: ERROR 104 ...

  5. EasyUI DataGrid 获得分页信息

    var b = $('#SBDiv_1_DateGrid').datagrid('options'); console.info(b); 具体需要哪些字段,可以通过火狐debug,然后自己找需要的信息 ...

  6. Ajax(6) Ajax向servlet请求数据库操作 并显示到当前页面 这个未经测试

    假设:1.你的页面在Web-Root下,内容为: <div id="showMsg"></div><input type="text&quo ...

  7. PHP filter 函数FILTER_CALLBACK 过滤数据

    <?php function convertSpace($string) { return str_replace(" ", "_", $string); ...

  8. MYSQL索引类型+索引方法

    MYSQL索引有四种 PRIMARY(唯一且不能为空:一张表只能有一个主键索引). INDEX(普通索引). UNIQUE(唯一性索引). FULLTEXT(全文索引:用于搜索很长一篇文章的时候,效果 ...

  9. Windows 8风格应用-触控输入

    参考:演练:创建您的第一个触控应用程序 http://msdn.microsoft.com/zh-cn/library/ee649090(v=vs.110).aspx win8支持多点触摸技术,而我们 ...

  10. 【Linux】percona-toolkit工具包的安装

    一.检查和安装与Perl相关的模块 PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境. 依赖包检查命令为: rpm -qa perl-DBI perl-DBD-MySQL perl ...