Kyligence AI 服务 - 让大模型完成准确、可靠的数值计算和回答! 立即了解更多
AI 数智助理
Kyligence Zen Kyligence Zen
Kyligence Enterprise Kyligence Enterprise
Kyligence Turbo Kyligence Turbo
指标平台解决方案
OLAP 解决方案
行业解决方案
客户总览
金融
零售
制造
医药
其他
云平台
BI
寻求合作
资源
Kyligence Enterprise
Kyligence Zen
培训
Apache Kylin
Byzer
Gluten
博客
关于
市场活动
Telecoming 是一家致力于电信运营商计费技术的西班牙公司,核心业务涵盖内容合作、支付技术部署和在线广告等数字娱乐领域,拥有专业的效果营销团队,业务遍布13个国家。使用 Apache Kylin 帮助 Telecoming 大幅度缩短了数据查询时间,加速业务决策,扩大了大数据对公司运营的影响力。下文来自 Telecoming 的 Iñigo Martinez,对 Kylin 版本升级进行了经验分享。
原文:https://kylin.apache.org/blog/2019/05/29/kylin-2.4.1-to-2.6.1/
翻译:Rachel、敏丞(翻译经原作者授权,对原文略有改动)
2017 年底,Telecoming 开始在一个新的商业智能项目中使用 Apache Kylin 作为主要的分析数据库。我们最初使用基于 MySQL 的定制报告引擎,到后来基于 AWS Redshift,最后采用完全基于 Hadoop 的解决方案,Kylin 用于生成报表前的最后一环。我们最开始使用 Kylin v2.2.1,2018年年中迁移到 v2.4.1,并于上月迁移到 v2.6.1。Kylin v2.2.1 是我们使用的第一个版本,有一些恼人的 bug 和稳定性问题。这不仅是因为版本不太成熟,还因为我们没有维护 Kylin 的经验。我们在 Cube 级别进行了一些设计更改和优化(在此感谢 Alberto Ramon),帮助我们很大程度上提高了性能和稳定性,但在之后的版本中仍然存在一些问题。
以下是我们的升级经验。
升级目的:
1)Bug 修复。尤其是在创建中间 Hive 表时与视图相关的一个 bug。
2)性能增强。这是大家总追求的。
3)对 HBase 的依赖性降低。HBase 是我们的主要问题来源。部分原因是由于 EMR(AWS)依赖 S3 作为主要的存储(现在我们使用 HDP)。Kylin 经常需要访问表元数据,HBase 的响应速度不稳定。因此,我们希望避免在 HBase 存储元数据,通过 JDBC 将元数据存储到 MySQL。
升级计划:
1)尽量减少停机时间。由于我们的用户大量使用报表系统,因此最大限度地减少 Kylin 的停机时间是非常必要的。
2)易于回滚。如果升级失败,我们需要一种简单的回滚方法。
升级步骤:
1)我们备好一个装有 Kylin v2.6.1 的新 AWS 实例,该实例已经完成了配置和调整。当然,之前我们已经运行了几周的 Kylin v2.6.1 原型并调整了所有配置文件以便正常运行。我们开始迁移时停止了该新实例。它还有一个全新的本地 MySQL v5.7 用于元数据存储,而不是依赖于 HBase。
2)我们停止了 Kylin v2.4.1 上的所有 Cube 构建。我们等到那些正在进行的任务完成了。 因此,在查询方面,虽然没有添加更多数据,但一切正常。
3)当所有构建完成后,我们对 Kylin 元数据(metastore.sh backup)执行了完整备份。 这只花了2分钟。
4)我们对所有 HBase 表执行了 HBase 快照。因此,在升级版本完全失败的情况下回滚就变得简单:恢复元数据+克隆快照到新表(删除已被升级的表)。因为可以在一个命令中运行所有快照命令,因此此过程只需几秒钟。
5)我们在新的 Kylin v2.6.1 实例(metastore.sh restore)上执行了元数据恢复。通过这种方式,所有元数据都可以在几分钟内自动从基于 HBase 的存储迁移到基于 JDBC 的存储。
6)我们从 v2.6.1 升级了 Coprocessor(使用 kylin.sh org.apache.kylin.storage.hbase.util.DeployCoprocessorCLI default all)。
7)我们启动了新版本的 Kylin,并检查确认一切就绪。我们可以查询所有 Cube 并得到正确的响应。
8)完成所有测试后,我们将 DNS 条目指向新的 Kylin v2.6.1 实例,并从中恢复构建过程。当然,Kylin v2.4.1 已被关闭。几天后,我们删除了 HBase 快照以释放存储空间。
可以想象,从查询视角来看,停机时间几乎为零,因为所有的 Kylin 查询都是在 v2.4.1 运行,直到 v2.6.1 准备好为请求提供服务。
回滚计划(实际并未使用):
回滚计划非常简单。如果出现问题,我们将切换到旧版本,我们将从之前拍摄的快照中恢复所有 HBase 表。此快照包含 HBase 元数据表,因此无需还原元数据。
升级结果:
1)Kylin v2.6.1 比 v2.4.1 更稳定。我们在服务器级别发现的唯一问题是平台级别的内存问题。现在,许多步骤都是基于 Spark 的,并在启动作业时占用一些额外的内存。我们通过调整 Kylin v2.6.1 的 JVM(-Xmx, -Xms)参数轻松解决了此问题。
2)由于 Cube 构建步骤的改进,Cube 构建得更快。
3)UI 响应非常快。以前浏览 Cube 构建列表最多需要10秒,现在它几乎能瞬间完成。
4)解决了一些 bug。以下两个尤为突出:
结语:
总的来说,升级过程简单快捷。然而,为了测试升级是否会造成潜在的问题,必须进行大量前期工作。因此,我们构建了一个并行环境,以检查所有新功能是否正常工作,bug 是否得到解决。我们调整了配置文件以满足新版本 Kylin 的要求,例如将元数据存储从 HBase 替换为 MySQL。
升级 Kylin 版本总体来说较简单,但是,必须仔细阅读文档,因为有时需要额外的步骤,当然还要检查参数,以便检测新版本中必须考虑的新特性或变化。为了能在升级失败后迅速恢复,做好备份和(经过测试的)回滚计划也非常重要。
从我们用户的角度来看,解决得最成功的问题是 UI 响应。我们非常高兴看到 Kylin 界面现在能如此快速流畅地响应。从运维方面来看,使用 MySQL 作为元数据存储而不是 HBase 也是一个很大的改进。在 HBase 上编辑 Json 内部的参数可能很困难,因为能编辑修改 HBase 表的应用程序不多。
01 现象 社区小伙伴最近在为 Kylin 4 开发 Soft Affinity + Local Cache
01 背景 随着顺丰末端物流(末端物流主要分为对小哥、柜机、区域等的资源的管理和分批;对路径、排班、改派等信息
Apache Kylin 的今天 目前,Apache Kylin 的最新发布版本是 4.0.1。Apache
Kylin 入选《上海市重点领域(金融类)“十四五”紧缺人才开发目录》 数字经济已成为全球增长新动
在 Kyligence 主办的 Data & Cloud Summit 2021 行业峰会的「数字化转
近日由 Kyligence 主办的 Data & Cloud Summit 2021 行业峰会在上海成
近五年来,Kyligence 服务了金融、制造、零售、互联网等各个行业的龙头企业,我们在服务这些企业的过程中,
2021年1月14日,Kyligence 产品经理陈思捷开启了我们在 2021 年的首场线上分享,为大家介绍了
400 8658 757
工作日:10:00 - 18:00
已有账号? 点此登陆
预约演示,您将获得
完整的产品体验
从数据导入、建模到分析的全流程操作演示。
行业专家解惑
与资深行业专家的交流机会,解答您的个性化问题。
请填写真实信息,我们会在 1-2 个工作日内电话与您联系。
全行业落地场景演示
涵盖金融、零售、餐饮、医药、制造等多个行业,最贴合您的业务需求与场景。
Data + AI 应用落地咨询
与资深技术专家深入交流,助您的企业快速落地 AI 场景应用。
立即预约,您将获得
精准数据计算能力:
接入高精度数值计算大模型服务,为您的企业级AI应用提供强大支持。
个性化业务场景解决方案:
量身定制的计算模型和数据分析服务,切实贴合您的业务需求和应用场景。
Data + AI 落地应用咨询:
与资深专家深入探讨数据和 AI 如何帮助您的企业加速实现应用落地,构建更智能的数据驱动未来。
申请体验,您将获得
体验数据处理性能 2x 加速
同等规模资源、同等量级数据、同一套数据处理逻辑,处理耗时下降一半
专家支持
试用部署、生成数据、性能对比各操作环节在线支持