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

本文涉及的产品
推荐全链路深度定制开发平台,高级版 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 开源官方技术交流群:

目录
相关文章
|
2月前
|
UED
Havenask
在追求知识的道路上,一款高效的学习工具能够为我们提供极大的帮助。今天,就让我们一起走进Havenask,了解它的使用方法、具体Demo案例以及需要注意的问题,为大家的学习之路增添一抹亮色。
19 2
|
6月前
|
JSON 搜索推荐 前端开发
分布式系列教程(39) -分布式日志采集系统ELK
分布式系列教程(39) -分布式日志采集系统ELK
85 0
|
存储 监控 算法
42-微服务技术栈(高级):分布式搜索引擎ElasticSearch(集群搭建与脑裂问题解决)
单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。 ● 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点 ● 单点故障问题:将分片数据在不同节点备份(replica ) 本节笔者将带领大家完成ES的集群搭建,同时解决集群中出现的脑裂问题。
220 0
|
Kubernetes 开发者 Docker
k8s 集群部署_部署工具介绍 | 学习笔记
快速学习 k8s 集群部署_部署工具介绍
178 0
|
负载均衡 搜索推荐
全栈开发之ElasticSearch8.0分布式搜索引擎集群及其高可用测试
全栈开发之ElasticSearch8.0分布式搜索引擎集群及其高可用测试
1003 0
全栈开发之ElasticSearch8.0分布式搜索引擎集群及其高可用测试
|
缓存 分布式计算 监控
云原生 - 集群 & 分布式简介
云原生 - 集群 & 分布式简介
233 0
云原生 - 集群 & 分布式简介
|
机器学习/深度学习 资源调度 分布式计算