【一文看懂】Havenask单机模式创建

简介: 本次分享内容为Havenask单机模式,由下面3个部分组成(Hape工具介绍、创建单机版Havenask、Hape问题排查),希望可以帮助大家更好了解和使用Havenask。

一、Hape工具介绍

Hape是Havenask PE的简称,可用于管理Havenask集群。

如下图所示:

image.png

一个Havenask集群可以分为三部分。

  • 首先,它包含一个消息队列Swift集群;其次,它包含一个Havenask在线查询集群;最后,它还包含一个全量表索引构建的buildservice集群。每个集群都有各自的admin,当用户用Hape向这些集群admin发送命令时,它们就会基于Hippo调度器,在用户给定的IP列表机器上拉起对应的worker。这样,我们就成功创建了一个Havenask集群。


  • 然后,我们可以用hape表命令在这个Havenask集群中新增或者删除表,这些表可以同数据库中的表一样,用SQL语句进行读写。更多Hape工具的介绍,可以在Havenask官网或者Github主页的Hape介绍文档中查询。


参考链接:https://havenask.net/#/doc/sql/petool/intro

 

二、创建单机版Havenask

这部分,学习实际部署一个单机版Havenask集群。部署一个单机版Havenask集群主要分为四个步骤,首先,准备Hape环境;然后,创建Havenask集群;接着,在集群上新增表;最后,对这张表进行SQL语句的读写。接下来,参考Havenask官网或者Github主页的单机版Havenask部署文档,逐步进行操作。


参考链接:https://havenask.net/#/doc/sql/petool/localmode

image.png

1、准备环境

拉取最新的Havenask镜像,同时,应确保本机能够免密登录,必要时可编写相应的命令。然后,将拉取的镜像命名,如hape_runtime。这样,容器就创建成功了,进入容器。在进入容器时,存在一个可选步骤,即使用Hape validate命令检验环境是否异常。在直接执行时,会进行基础校验。


2、创建集群

使用style命令拉起集群,在这个过程中,被拉起的不仅时Havenask,还有Swift跟BS。此时,就初步拉起了一个Havenask集群。


3、创建表

在创建的集群中添加表,本次分享仅介绍直写表。我们可以拷贝相应的命令建立一张直写表,这个直写表会先建立Swift对应的topic,然后再把表的目标下发到Havenask集群上。这样就成功创建了新表,

执行GS子命令即可看到该集群上的各个进程以及集群最终的状态。此外,还可以用GS table查看该表的结构,可以看到这是一张分片为1的表,它的主键是ID,包含hits crate time title subject等字段,其中title subject是一个文本字段。


4、读写数据

接下来,在表中写入数据,可以直接拷贝案例中的命令插入数据,这条数据的ID为4。然后,即可查询到这条成功插入的数据。在这个过程中可以发现,title和subject两个文本字段的值是null,要看text类型的字段,还需要拷贝对应的语句。这是因为,如果想要查看text类型的字段,需要查询摘要索引,摘要索引的具体含义可点击以上链接查看。如果想要弃用该集群,可以单独清理Havenask以及Swift,也可以直接用delete all情况所有相关的内容。


5、案例

  • 首先是关于normal的案例。它会搭建一个普通的集群,进行一些SQL读写。


  • 然后是关于Custom_analyzer的案例,其与normal的区别主要是分词器不同,它使用了jieba分词器,还包含一些文本UDF,可以在查询时候展示出文本相关性。最后是关于Vector的案例,它包含向量索引,且在查询时,会用UDF返回向量的得分。


  • 详细的操作方法,链接中提供了相应的脚本,只要传入案例的名称,即可自动搭建集群,并进行内置的读写。在案例运行结束后,集群不会删除,可以对这些集群进行进一步的交互,也可进行进一步的SQL读写。


image.png

更多单机版案例: https://github.com/alibaba/havenask/blob/main/hape/example/README.md?spm=spma.spmb.0.0.3e993a44kicDZo&file=README.md

 

三、Hape问题排查

关于Hape的问题排查,一般包括三类信息。第一类是使用Hape工具来打开debug信息定位问题;第二类是排查进程创建过程中出现的错误;第三类是排查表创建过程中出现的错误。具体操作可以参考Havenask官网或Github主页上的常见问题与排查文档。


参考链接:https://havenask.net/#/doc/sql/petool/problem

image.png


1、开启debug信息

Hape包含两种debug办法。首先,可以使用Hape validate检查集群是否存在基础性的错误。其次,假设集群存在联通性问题,或权限问题,该命令就会报错误。无论使用哪种Hape命令,都可以前置加-v选项,即可看到集群创建过程中的某个错误命令,并实现错误命令的定位。


2、排查集群进程创建错误

在hape start havenask命令前加-v选项,即可查询其进程,如发现该命令是执行了Docker指令,若其发生ERROR,复制错误命令,手动执行,检查其是否报错。

Hape start命令如果在启动过程中存在问题,原因可能有二。其一,创建容器有误,一般使用-v就即可发现error。其二,如果最终日志显示admin不ready,则说明可能是其进程启动异常,而非容器异常,此时可以使用hape gs子命令判断该admin位于哪台机器,然后查看该日志最新的ERROR。假设hape start命令最后返回Swift admin未ready,则可以执行hape gs swift命令,可以看到admin在本机,然后查看该引擎的日志。

Havenask集群工作目录一般都在home下,可以看到该Havenask某某local,即默认情况下的集群名称。假设Swift admin有问题,因此。进入该工作目录,查看Swift的日志,如果其中有较明显的error,即可定位到问题。


3、排查表错误

该类问题的排查可以使用Hape gs命令,因为,可能是QRS发生错误。假设,执行gs Havenask,如果QRS是正常的,然后database,即searcher存在问题,则可找到对应的机器,演示中在本机,查看日志检查是否有明显的error信息。

此外,该文档还提供了一些常见问题的配置方法,也可用于参考。以上是本次分享的全部内容。


四、总结

具体Havenask单机模式的演示视频可以通过链接查看,欢迎各位开发者使用。


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


关注我们:

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

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

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

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

1715594790746.png

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
SQL 运维 搜索推荐
《揭秘,阿里开源自研搜索引擎Havenask的在线检索服务》
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask的在线检索服务,它具备高可用、高时效、低成本的优势,帮助企业和开发者量身定做适合业务发展的智能搜索服务。
85107 138
|
SQL 搜索推荐 测试技术
【Havenask实践篇】完整的性能测试
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。性能测试的目的在于评估搜索引擎在各种负载和条件下的响应速度、稳定性。通过模拟不同的用户行为和查询模式,我们可以揭示潜在的瓶颈、优化索引策略、调整系统配置,并确保Havenask在用户数量激增或数据量剧增时仍能保持稳定运行。本文举例对Havenask进行召回性能测试的一个简单场景,在搭建好Havenask服务并写入数据后,使用wrk对Havenask进行压测,查看QPS和查询耗时等性能指标。
66367 6
|
存储 消息中间件 搜索推荐
【前沿技术】 阿里开源搜索引擎Havenask的消息系统
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask的消息系统--Swift,它是一个设计用于处理大规模的数据流和实时消息传递的高性能、可靠的消息系统。
61349 3
|
人工智能 搜索推荐 异构计算
|
存储 固态存储 索引
搜索和推荐统一存储层的新进展和思考
我们在2017年统一了搜索和推荐场景下的HA3、iGraph、RTP和DII四大引擎的存储层(参见统一之战),帮助它们取得了的更迅速的迁移能力、更快速的数据恢复能力和更丰富的数据召回能力。 最近一年来,我们在统一的存储框架上又做了进一步的演进,下面将分别从架构、Build服务以及存储模型角度介绍我们的新进展和思考。   1.架构   在我们的传统架构(参见统一之战)中,
3227 0
|
存储 消息中间件 安全
计算与存储分离实践—swift消息系统
swift是搜索事业部自主研发分布式消息系统,它的主要存储基于分布式文件系统,资源需求基于分布式调度系统。swift能支持每秒数亿的消息传递,支持PB级消息的存储。
7029 0
|
消息中间件 Docker 索引
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
本次分享内容为Havenask的简介及发展历史,由下面五个部分组成(Havenask整体介绍、名词解释、架构、代码结构、编译与部署),希望可以帮助大家更好了解和使用Havenask。
73341 0
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
|
搜索推荐 大数据 数据库
【Havenask实践篇】搭建文本检索服务
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文举例数据库检索加速的一个简单场景,使用Havenask对数据库的文本字段建立倒排索引,通过倒排检索列提高检索性能,缩短检索耗时。
114701 51
【Havenask实践篇】搭建文本检索服务
|
自然语言处理 搜索推荐 算法
【一文读懂】基于Havenask向量检索+大模型,构建可靠的智能问答服务
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内的几乎整个阿里的搜索业务。本文针对性介绍了Havenask作为一款高性能的召回搜索引擎,应用在向量检索和LLM智能问答场景的解决方案和核心优势。通过Havenask向量检索+大模型可以构建可靠的垂直领域的智能问答方案,同时快速在业务场景中进行实践及应用。
112020 64