一、部署分布式版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
1、准备环境
机房有三台互相打通的物理机,且均已拉取最新的镜像,这部分操作可以跳过。
2、创建集群
- 修改Hape容器中的分布式配置。首先,创建一个Havenask容器,这与单机版的操作相同,不再重复演示。然后,进入已创建的容器,搭建一个hdfs集群,java版本最佳,因为Havenask需要使用hdfs管理在线离线数据,如果hdfs集群是高可用,而非单点的,则要额外配置这两个环境变量,使得所有的容器均能访问对应的hdfs集群,读取hadoopHome下对应的高可用配置。由于之前搭建的是单点的hdfs集群,因此较为简单,可以直接在最下面新建两个文件夹用于存储数据文件。成功新建两个文件夹后,有两个文件路径与之对应,第一个Havenask的数据路径,第二个Swift消息队列的数据路径。
- 接下来,修改配置当中的可用于调度物理机的列表。因为要部署的环境是分布式模式,而非单机模式,因此这些Havenask、Swift还有bs的进程均可分布在不同的物理机上。因此,我们需要修改global.conf,并把这些IP list修改到目标物理机上。当前的103、104、105三台物理机之前已经作过修改,因此,这里只做微调,将QRS上传到105上即可。
- 我们可以用 Hape validate 验证,由于分布式配置并不是默认的,因此,要在相关内容前加-c,可以发现验证通过。搭建一个集群时也要加 -c,以指定这个配置文件的路径。由于涉及的物理机较多,因此,等待一段时间即可看到集群搭建成功。
3、创建表
- 新增的表与之前的表有所不同,区别在于这个分片数是2,因此对应的数据分片会分布在两台机上。目前,该表新建完成,可以用hape gs havenask查看其分布情况。
- 同样,也要添加上一个配置文件的路径。可以看到,这个 database的两个进程分布在两个不同物理机,而之前单机版仅有一台物理机,这也证明了这是一个分布式的集群,且已准备完毕。
4、SQL语句的读写
先写入一条数据,首先看QRS的地址,由于QRS在105十台物理机上,因此,在查询时要指定地址。成功插入一条数据后,再进行查询可能查找。后面的操作与前面介绍的完全相同,这里不做单独说明。
二、分布式相关问题排查
这部分与单机模式也基本相同,我们可以在 Github 主页或者 Havenask 官网上找到相关问题排查的文档。由于这些问题大多与单机版类似,因此,这里只介绍与分布式相关的问题。
- 首先,在分布式情境下,各项进程都分布在不同的物理机上,因此在排查问题时,往往要借助GS Havenask命令,以找到对应进程的位置。如qrs进程,假设其存在问题,即可看到其显示尚未ready,这样即可找到对应的物理机。同样,也可以找对应物理机上的日志文件,这是一个易出现问题的过程,在该集群模式下,hdfs配置可能不成功,因为,需要在多机模式下确保所有物理机均能访问hdfs路径。
- 我们可以进入任意一台容器,执行命令fs_util,它是Havenask的一个工具,可以用于校验容器是否可以访问对应的路径。
当然,还需要将JAVA_HOME和HADOOP_HOME自定义,课程中使用的是容器内置的,因此,没有进行单独的配置。
假设,在进程日志中,频繁提示无法访问对应的hdfs路径,就可以使用该命令进行验证。
三、总结
具体使用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 开源官方技术交流群: