【一文看懂】使用hape部署分布式版Havenask

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
推荐全链路深度定制开发平台,高级版 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
简介: 本次分享内容为使用hape部署分布式版Havenask,共2个部分组成(部署分布式版Havenask集群、 分布式相关问题排查),希望可以帮助大家更好了解和使用Havenask。

一、部署分布式版Havenask集群

部署分布式版的Havenask集群与单机版相同,都需要使用Hape工具(对于Hape工具,可以通过文章「Havenask入门系列【Havenask单机模式】」了解,这里不做赘述)。

  • 部署分布式版的Havenask集群也需要四个步骤,即准备环境、创建集群、创建表以及使用SQL语句进行数据读写。与单机版唯一有较大差距的是,在部署分布式版Havenask过程中,执行Hape时中要指定相应的配置。
  • 接下来,参考分布式部署文档逐步进行实际操作,相关文档可以在Github主页或Havenask官网查询。


hape工具参考: https://havenask.net/#/doc/sql/petool/intro

分布式部署参考: https://havenask.net/#/doc/sql/petool/clustermode



image.png


1、准备环境

机房有三台互相打通的物理机,且均已拉取最新的镜像,这部分操作可以跳过。


2、创建集群

  • 修改Hape容器中的分布式配置。首先,创建一个Havenask容器,这与单机版的操作相同,不再重复演示。然后,进入已创建的容器,搭建一个hdfs集群,java版本最佳,因为Havenask需要使用hdfs管理在线离线数据,如果hdfs集群是高可用,而非单点的,则要额外配置这两个环境变量,使得所有的容器均能访问对应的hdfs集群,读取hadoopHome下对应的高可用配置。由于之前搭建的是单点的hdfs集群,因此较为简单,可以直接在最下面新建两个文件夹用于存储数据文件。成功新建两个文件夹后,有两个文件路径与之对应,第一个Havenask的数据路径,第二个Swift消息队列的数据路径。


  • 接下来,修改配置当中的可用于调度物理机的列表。因为要部署的环境是分布式模式,而非单机模式,因此这些HavenaskSwift还有bs的进程均可分布在不同的物理机上。因此,我们需要修改global.conf,并把这些IP list修改到目标物理机上。当前的103104105三台物理机之前已经作过修改,因此,这里只做微调,将QRS上传到105上即可。


  • 我们可以用 Hape validate 验证,由于分布式配置并不是默认的,因此,要在相关内容前加-c,可以发现验证通过。搭建一个集群时也要加 -c,以指定这个配置文件的路径。由于涉及的物理机较多,因此,等待一段时间即可看到集群搭建成功。


3、创建表

  • 新增的表与之前的表有所不同,区别在于这个分片数是2,因此对应的数据分片会分布在两台机上。目前,该表新建完成,可以用hape gs havenask查看其分布情况。


  • 同样,也要添加上一个配置文件的路径。可以看到,这个 database的两个进程分布在两个不同物理机,而之前单机版仅有一台物理机,这也证明了这是一个分布式的集群,且已准备完毕。


4、SQL语句的读写

先写入一条数据,首先看QRS的地址,由于QRS105十台物理机上,因此,在查询时要指定地址。成功插入一条数据后,再进行查询可能查找。后面的操作与前面介绍的完全相同,这里不做单独说明。

 

二、分布式相关问题排查

这部分与单机模式也基本相同,我们可以在 Github 主页或者 Havenask 官网上找到相关问题排查的文档。由于这些问题大多与单机版类似,因此,这里只介绍与分布式相关的问题。


  • 首先,在分布式情境下,各项进程都分布在不同的物理机上,因此在排查问题时,往往要借助GS Havenask命令,以找到对应进程的位置。如qrs进程,假设其存在问题,即可看到其显示尚未ready,这样即可找到对应的物理机。同样,也可以找对应物理机上的日志文件,这是一个易出现问题的过程,在该集群模式下,hdfs配置可能不成功,因为,需要在多机模式下确保所有物理机均能访问hdfs路径。


  • 我们可以进入任意一台容器,执行命令fs_util,它是Havenask的一个工具,可以用于校验容器是否可以访问对应的路径。
    当然,还需要将JAVA_HOMEHADOOP_HOME自定义,课程中使用的是容器内置的,因此,没有进行单独的配置。
    假设,在进程日志中,频繁提示无法访问对应的hdfs路径,就可以使用该命令进行验证。

image.png


三、总结

具体使用hape部署分布式版Havenask的演示视频可以通过链接查看,欢迎各位开发者使用。

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


关注我们:

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

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

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

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

1715594790746.png

目录
相关文章
|
2月前
|
Docker 容器 关系型数据库
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
本期课程将于4月11日19:00开始直播,内容包括源码编译基础知识和实践操作,课程目标是使学员掌握源码编译部署技能,为未来发展奠定基础,期待大家在课程中取得丰富的学习成果!
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
|
25天前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
26 0
|
21天前
|
存储 搜索推荐 Java
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
27 2
|
2月前
|
关系型数据库 MySQL 数据库
测试部署PolarDB-X 分布式与集中式
在本文中,作者详述了在CentOS 7.9上部署测试PolarDB-X分布式与集中式数据库的过程。PolarDB-X作为阿里云优化的分布式数据库,提供高稳定性和与MySQL的兼容性,是应对单体数据库扩展性和性能瓶颈的解决方案,同时也符合国产化需求。文章介绍了部署环境准备,包括关闭防火墙和SELinux,设置系统参数,安装Python3和Docker,以及配置MySQL客户端。接着,通过PXD工具部署了PolarDB-X的集中式和分布式版,遇到的问题包括阿里云镜像源异常导致的部署失败以及指定版本安装的困扰。最后,作者进行了初步的压力测试,并对文档完善、生态工具建设以及提供更多使用案例提出了建议。
47782 10
测试部署PolarDB-X 分布式与集中式
|
11天前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
|
2月前
|
Java 大数据 流计算
使用Docker快速部署Flink分布式集群
使用Docker快速部署Flink分布式集群
224 0
|
2月前
使用JWT的服务分布式部署之后报错:JWT Check Failure:
使用JWT的服务分布式部署之后报错:JWT Check Failure:
67 1
|
2月前
|
SQL 调度 数据库
Docker部署Xxl-Job分布式任务调度中心(超详细)
Docker部署Xxl-Job分布式任务调度中心(超详细)
|
2月前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
2月前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
281 0