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

本文涉及的产品
推荐全链路深度定制开发平台,高级版 1个月
简介: 本次分享内容为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日志并进行多维度分析。
目录
相关文章
|
10月前
|
分布式计算 资源调度 Hadoop
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
376 0
|
Dubbo Cloud Native Java
ZooKeeper 避坑实践:由于jute.maxbuffer 设置问题导致的集群不可用
微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
ZooKeeper 避坑实践:由于jute.maxbuffer 设置问题导致的集群不可用
|
1月前
|
SQL 消息中间件 存储
【一文看懂】使用hape部署分布式版Havenask
本次分享内容为使用hape部署分布式版Havenask,共2个部分组成(部署分布式版Havenask集群、 分布式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
165035 6
|
8月前
|
资源调度 Kubernetes Java
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
|
1月前
|
资源调度 Kubernetes Java
Flink--day02、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--day022、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
173 5
|
1月前
|
分布式计算 资源调度 Kubernetes
Spark集群部署与架构
Spark集群部署与架构
|
11月前
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的Standalone/伪集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的Standalone/伪集群模式的安装部署和环境搭建,帮助开发者快速上手。
527 1
|
Java
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
78 0
|
存储 监控 安全
Elasticsearch集群配置密码(传统方式&Docker方式)
Elasticsearch集群配置密码(传统方式&Docker方式)
2144 0
|
NoSQL jenkins Java
Jenkins集群配置/并发构建
集群化构建可以有效提升构建效率,尤其是团队项目比较多或是子项目比较多的时候,可以并发在多台机器上执行构建。
398 0
Jenkins集群配置/并发构建