【技术解析 | 实践】Havenask问题排查

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
推荐全链路深度定制开发平台,高级版 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: 本次分享内容为Havenask的问题排查,由下面4个部分组成(Hape运维脚本问题、集群相关问题、表相关问题、数据写入与查询问题),希望可以帮助大家更好了解和使用Havenask。

一、架构模式

在介绍具体问题之前,先回顾前面的知识。Havenask主要有两种架构模式,即读写分离模式和读写统一模式。读写分离与读写统一相比,主要在于多了独立的索引。

image.png image.png


二、Hape运维脚本问题

构建服务叫build serviceHavenask主要由下面几个部分组成:

  • Hape运行脚本
  • 在线系统
  • 索引构建系统Build Service
  • Swift消息中间件
  • 还有其他依赖的一些基础的组件,比如zkhdfs等。


Havenask的所有操作都是通过Hape脚本来实现的,它在脚本执行过程中可能会出现命令执行失败的情况。在解决这类问题时,我们首先通过Hape脚本提供的validate的命令验证配置是否,如果正确,再在执行的命令后面加-v的参数(hape start havenask –v),打印命令执行过程中的详细的信息。另外,Hape脚本是使用Python编写的,我们可以直接修改这个脚本,进行pdb的跟踪。


三、集群相关问题

集群相关的问题较为复杂,它主要包括在线集群的问题、BS集群的问题、Swift集群的问题和一些依赖的基础组件的问题。

  • 在线集群的问题主要表现为在线集群节点启动异常、查询异常(主要包括查询耗时变大或查询报错)、表加载异常等。
  • BS集群的问题主要包括BS结集群节点启动异常、数据处理延迟、索引构建异常等。
  • Swift集群的问题主要包括Swift进群节点启动异常、Swift数据处理延迟等。
  • 基础组件的问题主要包括ZK的问题和hdfs的问题,ZK的问题主要包括上面各个集群的节点启动异常,Hdfs的问题可能会导致索引数据、实时数据的读写异常等。


在排查这些问题时,我们首先要确定出现问题的部分,找到对齐的部分后,主要通过排查对应的日志确定具体问题的原因。如在线集群出现问题后,可查看在线Master的日志,在在Master日志中查看是否有异常的节点。另外,如果已经确定了异常节点,就可以查看对应异常节点上的日志。

 

三、表相关问题

表相关的问题主要包括表创建失败,或是表创建成功但未生效,或是表全量失败,或时表索引构建过慢等方面。

  • 表创建失败,是指在通过HAPE脚本创建表时报错,我们就可以直接在Hape执行命令过程中加一个-v参数,排查具体报错的原因。
  • 表创建成功但未生效,我们可以到对应的在线集群的Master节点中查看对应的日志。
  • 表全量失败和表索引构建过慢主要是由索引构建服务异常(如配置不合理等)导致的,我们主要排查build Service日志数据写入的问题,主要包括数据写入后一直未生效,无法在线查询,或是查询得到的结果与写入的原数据不一致。

 

四、数据写入与查询问题

  • 排查这类问题,首先要确保写入的数据无误,其格式是Havenask支持的正确格式。其次,要确定表是全量表或是直写表,因为全量表和直写表对应的整体数据生效链路不同。
  • 若是全量表,在数据写入时应先将数据写入Swift,然后处理BS process节点,重新发送到一个Swift中转,在线的search节点直接从Swift上面去获取处理后的数据,然后直接在内存中构建。若是直写表,数据直接发到search,直接构建成索引,然后search把数据写入Swift,继而其他的数据节点同步这个数据,构建成索引。
  • 总之,全量表和直写表的数据生效链路不同。在确定属于何种表之后,根据首次推送到的节点开始逐步排查。对于一个全量表,数据推送后一直未生效,可以排查是否所有消息中间件都有数据延迟,是否数据处理节点有延迟,是否由于设置节点内存已满导致索引构建失败。这样,我们基本可以确定数据未生效的原因。
  • 查询耗时过大或是查询报错主要是由于在线集群异常或某些配置不合理或扫描的数据节点数据量过多导致的。如查询耗时过大,可以首先确定query,即是否是由于扫描数据量大导致的,如果扫描数据合理,则要检查在线集群的资源是否有瓶颈,这里的资源主要是指CPU资源和内存资源。如果第一次查询较慢,再次查询可能会相对较快,之后,原因是内存资源可能存在瓶颈,或是待查询的数据刚开始不在内存中,我们需要将它提前加到内存中,这样查询耗时就会变短。
  • 另外一个资源是CPU资源,只要查看CPU水位即可,CPU过高会导致查询耗时变大。查询报错,主要排查查询的query是否正确,报错时,我们可以通过查询错误的日志或通过在查询语句中添加一些trace,进而查看具体的原因。


除了以上问题外,数据写入与查询问题比较复杂,我们还需要根据具体的case具体分析。


四、结尾

具体Havenask问题排查的视频可以通过链接查看,欢迎各位开发者使用。

视频链接:https://developer.aliyun.com/live/253856?spm=a2c6h.13262185.profile.5.563bee42LdD7By


关注我们:

Havenask 开源官网:https://havenask.net/

Havenask-Github 开源项目地址:https://github.com/alibaba/havenask

阿里云 OpenSearch 官网:https://www.aliyun.com/product/opensearch

钉钉扫码加入 Havenask 开源官方技术交流群:

1715594790746.png

目录
打赏
0
1
1
0
278
分享
相关文章
DeepSeek模型的突破:性能超越R1满血版的关键技术解析
上海AI实验室周伯文团队的最新研究显示,7B版本的DeepSeek模型在性能上超越了R1满血版。该成果强调了计算最优Test-Time Scaling的重要性,并提出了一种创新的“弱到强”优化监督机制的研究思路,区别于传统的“从强到弱”策略。这一方法不仅提升了模型性能,还为未来AI研究提供了新方向。
288 5
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
DeepSeek-R1 通过创新的训练策略实现了显著的成本降低,同时保持了卓越的模型性能。本文将详细分析其核心训练方法。
332 11
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
深度干货 如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
数据库高可用(High Availability,HA)是指在系统遇到故障或异常情况时,能够自动快速地恢复并保持服务可用性的能力。如果数据库只有一个实例,该实例所在的服务器一旦发生故障,那就很难在短时间内恢复服务。长时间的服务中断会造成很大的损失,因此数据库高可用一般通过多实例副本冗余实现,如果一个实例发生故障,则可以将业务转移到另一个实例,快速恢复服务。
深度干货  如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
202 11
智能文件解析:体验阿里云多模态信息提取解决方案
在当今数据驱动的时代,信息的获取和处理效率直接影响着企业决策的速度和质量。然而,面对日益多样化的文件格式(文本、图像、音频、视频),传统的处理方法显然已经无法满足需求。
94 4
智能文件解析:体验阿里云多模态信息提取解决方案
融合DNS技术产品和生态
本文介绍了阿里云在互联网基础资源领域的最新进展和解决方案,重点围绕共筑韧性寻址、赋能新质生产展开。随着应用规模的增长,基础服务的韧性变得尤为重要。阿里云作为互联网资源的践行者,致力于推动互联网基础资源技术研究和自主创新,打造更韧性的寻址基础服务。文章还详细介绍了浙江省IPv6创新实验室的成立背景与工作进展,以及阿里云在IPv6规模化部署、DNS产品能力升级等方面的成果。此外,阿里云通过端云融合场景下的企业级DNS服务,帮助企业构建稳定安全的DNS系统,确保企业在数字世界中的稳定运行。最后,文章强调了全链路极致高可用的企业DNS解决方案,为全球互联网基础资源的创新提供了中国标准和数字化解决方案。
DNS技术标准趋势和安全研究
本文探讨了互联网域名基础设施的结构性安全风险,由清华大学段教授团队多年研究总结。文章指出,DNS系统的安全性不仅受代码实现影响,更源于其设计、实现、运营及治理中的固有缺陷。主要风险包括协议设计缺陷(如明文传输)、生态演进隐患(如单点故障增加)和薄弱的信任关系(如威胁情报被操纵)。团队通过多项研究揭示了这些深层次问题,并呼吁构建更加可信的DNS基础设施,以保障全球互联网的安全稳定运行。
深入解析CDN技术:加速互联网内容分发的幕后英雄
内容分发网络(CDN)是现代互联网架构的重要组成部分,通过全球分布的服务器节点,加速网站、应用和多媒体内容的传递。它不仅提升了访问速度和用户体验,还减轻了源站服务器的负担。CDN的核心技术包括缓存机制、动态加速、流媒体加速和安全防护,广泛应用于静态资源、动态内容、视频直播及大文件下载等场景,具有低延迟、高带宽、稳定性强等优势,有效降低成本并保障安全。
129 4
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
230 10
网页爬虫技术全解析:从基础到实战
在信息爆炸的时代,网页爬虫作为数据采集的重要工具,已成为数据科学家、研究人员和开发者不可或缺的技术。本文全面解析网页爬虫的基础概念、工作原理、技术栈与工具,以及实战案例,探讨其合法性与道德问题,分享爬虫设计与实现的详细步骤,介绍优化与维护的方法,应对反爬虫机制、动态内容加载等挑战,旨在帮助读者深入理解并合理运用网页爬虫技术。

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等