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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: 本次分享内容为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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
SQL Kubernetes 调度
【技术解析 | 实践】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
59736 9
|
消息中间件 负载均衡 监控
分布式系列教程(08) -分布式协调工具Zookeeper(介绍&安装&配置详解)
分布式系列教程(08) -分布式协调工具Zookeeper(介绍&安装&配置详解)
445 0
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的Standalone/伪集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的Standalone/伪集群模式的安装部署和环境搭建,帮助开发者快速上手。
718 1
|
存储 缓存 固态存储
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
159 0
|
消息中间件 Kafka
Kafka单机模式和集群模式环境搭建
Kafka单机模式和集群模式环境搭建
171 0
|
存储 消息中间件 RocketMQ
双主双从(2m-2s)集群介绍和工作流程说明|学习笔记
快速学习双主双从(2m-2s)集群介绍和工作流程说明
双主双从(2m-2s)集群介绍和工作流程说明|学习笔记
|
存储 负载均衡 算法
【集群】集群的概念(相关知识)、常用工具/算法、常见集群
文章目录 前言 一、集群架构 1.1 负载调度器 1.1.1 常用调度算法
208 0
【集群】集群的概念(相关知识)、常用工具/算法、常见集群
|
分布式计算 Java Hadoop
【Flink完全分布式环境搭建及应用,Standalone(开发测试)一】
【Flink完全分布式环境搭建及应用,Standalone(开发测试)一】
260 0
【Flink完全分布式环境搭建及应用,Standalone(开发测试)一】
|
分布式计算 Hadoop Java
【Flink完全分布式环境搭建及应用,Standalone(开发测试)二】
【Flink完全分布式环境搭建及应用,Standalone(开发测试)二】
210 0
【Flink完全分布式环境搭建及应用,Standalone(开发测试)二】
|
SQL 存储 关系型数据库
mysql集群搭建部署
应用场景 数据存储在mysql中,单节点存储如果数据量十分大,数据就很可能存不下。因此我们需要搭建部署mysql的集群模式,增加数据的存储量,而且提到数据库访问的并发。
2637 0
下一篇
无影云桌面