【一文看懂】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 开源官方技术交流群:

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
9月前
|
分布式计算 资源调度 Hadoop
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}
320 0
|
5月前
|
数据采集 物联网 大数据
NiFi【部署 01】NiFi最新版本1.18.0下载安装配置启动及问题处理(一篇学会部署NiFi)
NiFi【部署 01】NiFi最新版本1.18.0下载安装配置启动及问题处理(一篇学会部署NiFi)
272 0
|
6月前
|
监控 NoSQL MongoDB
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架构环境搭建-mtools
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。它由MongoDB原生的工程师单独发起并进行开源维护。mtools包含了一些常用的组件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以帮助我们更方便地启动和创建MongoDB数据库。
|
15天前
|
消息中间件 Swift Docker
【一文看懂】Havenask简介及发展历史
本次分享内容为Havenask的简介及发展历史,由下面五个部分组成(Havenask整体介绍、名词解释、架构、代码结构、编译与部署),希望可以帮助大家更好了解和使用Havenask。
96 0
【一文看懂】Havenask简介及发展历史
|
19天前
|
分布式计算 监控 调度
给技术新人的ODPS优化建议
数据开发基本都是从陌生到熟悉,但是写多了就会发现各种好用的工具/函数,也会发现各种坑,本文分享了作者从拿到数据到数据开发到数据监控的一些实操经验。
95344 11
|
9月前
|
分布式计算 大数据 API
完美避坑!记一次Elasticsearch集群迁移架构实战
Elastic自身设计了集群分片的负载平衡机制,当有新数据节点加入集群或者离开集群,集群会自动平衡分片的负载分布。
|
10月前
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的Standalone/伪集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的Standalone/伪集群模式的安装部署和环境搭建,帮助开发者快速上手。
475 1
|
18天前
|
人工智能 达摩院 算法
什么是优化技术?给算法小白同学的快速讲解和上手文
本文作者用一个曾经小白学习的视角,来讲解什么是优化问题,以及要如何用这个优化技术。
47802 2
|
19天前
|
存储 监控 Java
三万字长文:JVM内存问题排查Cookbook
本文主要系统性地整理了排查思路,为大家遇到问题时提供全面的排查流程,不至于漏掉某些可能性误入歧途浪费时间。
|
14天前
|
SQL 调度 Swift
【一文看懂】Havenask日志查询
本次分享内容为Havenask的日志查询,文章包含了具体查询步骤和举例、实操演示,希望可以帮助大家更好的使用Havenask。
113 0