文档章节

一次大数据量日志存储升级改造

新栋BOOK
 新栋BOOK
发布于 2016/12/12 19:22
字数 722
阅读 152
收藏 1

商家操作日志的使命就是记录卖家对商品、订单等业务的操作。以便于后续分析。我们在做技术选型的时候确定了kafka+storm+elasticsearch,当前的架构如下:

 

我们现在面临这样的问题,数据全部落到了ES上面,ES数据全部加载到内存里面之后,当前2个月的数量达到数十T之多。这个量对资源的需求非常大,而且我们的要求是同时要打开三个月的数据,因此远远达不到我们的要求。

我们以往是这样做的,每天一个索引,2个月之前的索引全部关掉。只保持一个月的索引打开。如果想查询以前的数据,就要先关掉当前的1个月,再打开要查看的那个月的索引。

ES集群,32个分片,32个副本(“1”-代表每个分片一个副本)

  1. "settings": {
  2.           "index": {
  3.             "number_of_shards": "32",
  4.             "creation_date": "1475193606337",
  5.             "number_of_replicas": "1",
  6.             "version": {
  7.               "created": "1070699"
  8.             },
  9.             "uuid": "JdEgO48dTTCWMAmMZ3oCXg"
  10.           }
  11.         },

在这里再说明下,集群Index TPS,Search TPS与副本数的关系

集群写入文档TPS与副本数正相关,查询TPS与副本数无关。
举例:
1分钟向集群写入1000个文档:
       当索引有0个副本:集群写入文档次数为1000,Index TPS为1000/60.
       当索引有1个副本:集群写入文档次数为2000,Index TPS为2000/60.
       当索引有2个副本:集群写入文档次数为3000,Index TPS为3000/60.

1分钟查询1000次:
      当索引有0个副本:search TPS为 1000/60.
      当索引有1个副本:search TPS为 1000/60.
      当索引有2个副本:search TPS为 1000/60.

我们必须要调整我们的架构及存储方式。ES只用于热数据的分析,利用ES的检索特性。3个月以前的数据全部放入HBASE,利用HBASE的这种存储,对历史数据查询,只从HBASE里面查。更新后的存储处理方案下面这样

将日志分集群存储,日志量大的与日志量小的,互不影响。将来申请资源单独针对相应的日志集群来申请。这次调整从业务类别来拆分,继续保留了原来的kafka+storm+elasticsearch技术方案,因为日志处理在这个技术选型下是没有任何问题的,我们所要调整的是落地的细节上的问题。比如我们这次的存储方案调整。

 

© 著作权归作者所有

新栋BOOK
粉丝 137
博文 53
码字总数 93256
作品 0
大兴
程序员
私信 提问
oracle存储过程处理业务如何改造为分布式计算

求助大家一个关于系统改造的问题,多数的企业级应用多数的业务处理都是由存储过程进行处理的,如何能把这些存储过程改到用分布式的某种计算框架进行计算呢,存储过程主要是方便不用把数据取出...

条纹双肩包
2017/02/27
204
1
七牛云荣获「2018 中国大数据硬独角兽」称号

9 月 1 日,由南京市鼓楼区人民政府主办、鼓楼高新区管委会、鼓楼区发改局(经信局)、创业黑马、i 黑马旗下企业服务垂直媒体 B2B 圈联合承办的「中国独角兽(秋季)峰会」在南京隆重举行。会...

七牛云
09/06
0
0
七牛云荣获「2018 年度中国大数据日志管理最佳产品奖」

8 月 2 日- 3 日,2018(第三届)中国大数据产业生态大会在京举行,作为专业聚焦大数据产业生态的盛会,「中国大数据产业生态大会」历来以专业、开放、权威、国际化而著称,已成为业内大数据...

七牛云
08/07
0
0
JEECG 3.7.7 发布,增加多套主流 UI 代码生成器模板

JEECG 3.7.7闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板 ⊙表单UI深度优化,平台UI风格升级一个级别 ⊙灵活通用代码...

Jeecg
07/16
2.1K
1
Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+BootstrapTable列表 ElementUI列表表单)...

Jeecg
07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ES5和ES6那些你必须知道的事儿

  ES5和ES6那些你必须知道的事儿      ES5新增的东西      一、数组方法      1、forEach      用途:遍历,循环      对于空数组不会执行回调函数      复制代码...

SEOwhywhy
29分钟前
4
0
转:[windows]DOS批处理添加任务计划

[windows]DOS批处理添加任务计划 博客分类: Windows 转自:http://gwmold.blog.163.com/blog/static/1553319892010117113457232/ 自动创建每周运行一次的计划任务 创建计划任务可用at,sch...

SamXIAO
34分钟前
3
0
redis 问题总结

1:修改内存页大小,linux 默认大小是4k(通过getconf PAGE_SIZE 查看 2:查看内存交换信息,防止使用内存交换 3: sar -n DEV 查看网络状况 4: 修改文件句柄: ulimit -n 65535 5: info memo...

昏鸦
36分钟前
3
0
如何在Rails应用程序中使用Kafka?

背景介绍 有那么一段时间,我们的系统需要用到分布式流式处理和消息系统,而 Apache Kafka 似乎成了我们建立业务关键型应用程序的坚实基础。它可用于很多场景下,比如产品更新管道、订单跟踪...

java菜分享
37分钟前
3
0
C#匿名委托

list自定义排序 //list自定义排序public static List<string> sortList(List<string> m_str,string splitStr) //a b表示列表中的元素{String[] strArray=m_str.ToArray();......

青衣霓裳
47分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部