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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
推荐全链路深度定制开发平台,高级版 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: 本次分享内容为使用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

目录
相关文章
|
4月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
419 0
|
2月前
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
3月前
|
Dubbo Java 应用服务中间件
分布式-dubbo的入门
分布式-dubbo的入门
|
3月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
132 9
|
4月前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与DistributedDataParallel:分布式训练入门指南
【8月更文第27天】随着深度学习模型变得越来越复杂,单一GPU已经无法满足训练大规模模型的需求。分布式训练成为了加速模型训练的关键技术之一。PyTorch 提供了多种工具来支持分布式训练,其中 DistributedDataParallel (DDP) 是一个非常受欢迎且易用的选择。本文将详细介绍如何使用 PyTorch 的 DDP 模块来进行分布式训练,并通过一个简单的示例来演示其使用方法。
557 2
|
3月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
77 0
|
4月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
356 0
|
4月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
60 0
|
6月前
|
存储 搜索推荐 Java
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
87 2
|
5月前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决