资讯专栏INFORMATION COLUMN

Elasticsearch上云使用规范问题与解决

IT那活儿 / 1458人阅读
Elasticsearch上云使用规范问题与解决
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

背景介绍

Elasticsearch(以下简称ES) 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ES的水平伸缩性,能使数据在生产环境变得更有价值。
ES可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。

ES是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。


问题描述

在某运营商上云业务中,依照统一的上云规范,大量的上云应用服务日志均需要接入了ES集群,用来存储日志或者中间数据,保证异常时候可以查询并追溯问题。但因前期对ES集群使用的经验不足,导致了较多的问题。主要有如下几个方面:
2.1 前期为了方便业务上云,对申请ES资源的业务及相关人员台账统计的不够明确,有些仅有应用厂家联系人甚至有些联系人都没有,导致后续集群调整或改造时,较难通知到对应的业务。
2.2 各种业务不用应用人员开发人员,对ES的熟悉程度良莠不齐,导致了许多使用不规范的问题,比如索引创建不带时间,一个索引一个分片一直写,最大的索引一个分片写到有接近1T的数据,对集群维护和读写性能方面带来了很大的挑战和问题,经常一个大的查询就导致节点GC宕机。
2.3 很多业务存在小数据量的索引,创建也使用了按天创建索引,一个索引至少是一个主分片,直接导致了集群索引分片浪费,一个分片只存放了几兆甚至几百KB的数据,导致集群的分片数量增速过快,甚至超过了单节点3000分片的默认阈值,引起集群异常。

2.4 因前期的硬件资源紧张,但上云速度较快,直接导致出现存放日志数据和存放业务数据的索引均集中在一个集群混用,彼此之间也存在较大的影响。


分析过程

针对以上的这些问题,我们在逐步的使用和摸索中,逐一进行了分析,对以上的问题我们也逐步解决,详细如下
3.1 针对半路接手维护信息,台账信息统计不全问题,我们首先是对所有后续新申请的业务进行了申请单制度,将原有的ES使用申请进行台账重新统计,必须包含局方项目经理、厂家接口人、客户端IP、保留周期等信息,方便后续集群调整时或异常时及时通知厂家。
台账统计样例:
申请单样例:
3.2 针对ES使用方法存在不合理的方面,比如无日期索引,按日创建的小索引,我们都逐一要求业务进行整改,小索引至少保证采用按月建立,以满足ES使用单分片30~50G的最佳实践值。同时在申请单上反复进行强调索引创建的要求和规则,避免业务出错。
3.3 考虑前期ES集群负载长期过高经常出问题的情况,我们对ES进行了改造和升级,首先是安装了业务专用的ES集群,将日志和业务数据进行拆分,将前期的业务数据相关业务迁移至了业务专用集群,同时对性能不足的日志集群进行了扩容,减轻集群负载。
按月整改前后:
修改后按月创建:
3.4 在保证了业务使用ES创建索引都进行了合理的分日和分月后,我们对其索引的保留周期同样进行了统计,然后依据不同业务不同周期,进行索引的定期offline和delete,保证ES集群的分片管理数量维持在一个良好的数据区间,保障集群的运行高效稳定。
3.5 为了满足业务的测试需求,我们又多带带为业务提供了同环境的测试集群,在上线流程上我们规定所有业务均必须先进入测试环境使用,并统计测试环境台账,保证ES的规范合规,待业务正式上线时,检测业务的索引模板和设置满足要求后,才允许进入生产环境使用,从流程上杜绝乱建索引和乱配置索引的问题。


成果展示

经过以上从流程上、配置上进行的一些规范操作和扩容迁移操作等,原有ES集群内存使用率高经常GC问题得以解决。
内存使用率最高从91%下降至目前稳定在50%左右,且可保证长期稳定运行,再无节点出现高负载或频繁GC导致宕机的情况出现。
整改并扩容前后集群资源使用差异:
         


本文作者:何 青(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129122.html

相关文章

  • 打通本地部署和公有云,混合云架构让“鱼”和“熊掌”兼得(一)

    摘要:对于上述问题,混合云架构无疑是企业的最佳选择。解决方案将本地环境与公有云连通组成混合云架构,实现对本地环境计算能力的快速扩展。前言当前各行各业在积极拥抱云计算,但由于一些历史原因和合规要求导致很多企业全面上云比较困难,比如企业监管制度及合规要求一些核心数据库必须保留在本地数据中心;本地数据中心作为企业固定资产不容易完全抛弃;有些大型集团企业IT架构复杂,全面迁移上云的影响难以评估等等。因此,...

    Tecode 评论0 收藏0
  • 打通本地部署和公有云,混合云架构让“鱼”和“熊掌”兼得(一)

    摘要:对于上述问题,混合云架构无疑是企业的最佳选择。解决方案将本地环境与公有云连通组成混合云架构,实现对本地环境计算能力的快速扩展。前言当前各行各业在积极拥抱云计算,但由于一些历史原因和合规要求导致很多企业全面上云比较困难,比如企业监管制度及合规要求一些核心数据库必须保留在本地数据中心;本地数据中心作为企业固定资产不容易完全抛弃;有些大型集团企业IT架构复杂,全面迁移上云的影响难以评估等等。因此,...

    Tecode 评论0 收藏0
  • 中国公有云市场不及美国3%,企业上云是发展工业互联网的前提

    摘要:但目前中国企业的信息化程度并不高,甚至大部分中小企业还处于工业阶段。数据显示,中国公有云市场不及美国,而美国大概只有万家中小企业,可见中国企业上云程度有多低。三个问题,让你彻底明白企业为什么上云以及企业上云的好处一提到企业上云,总会有很多人问上云有什么好处、为什么要上云这类问题。这些问题很简单,却不是简单几句就能回答的,问这些问题的甚至不知道什么是云,更不用提工业互联网,有些企业连内部互联网...

    CoreDump 评论0 收藏0
  • 可能是东半球最简单的Java应用日志上云方案了

    摘要:轻松输出应用日志到七牛云平台背景云计算发展至今,企业应用的方方面面都已经在云上或者准备上云了。方案本篇主要介绍下如何利用七牛云大数据日志平台来无缝收集应用日志,方便后续的日志分析等工作。 轻松输出Java应用日志到七牛云平台 背景 云计算发展至今,企业应用的方方面面都已经在云上或者准备上云了。无论是Iaas还是Paas,应用开发的首选即是上云,因为云平台不仅可以节约开发和部署流程中的时...

    TANKING 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<